算法学习,请问这道算法题怎么做思路是什么?

Create a program, which, given a valid sequence of rolls for
one line of American Ten-Pin Bowling, produces the total
score for the game. This is a summary of the rules of the game:

Each game, or "line" of bowling, includes ten turns, or "frames"for the bowler.
In each frame, the bowler gets up to two tries to knock down all the pins.
If in two tries, he fails to knock them all down, his score for that frame is the total number of pins Knocked down in his two tries.
If in two tries he knocks them all down, this is called a "spare" and his score for the frame is ten plus the number of pins knocked down on his next throw (in his next turn).
If on his first try in the frame he knocks down all the pins, this is called a "strike" His turn is over, and his score for the frame is ten plus the simple total of the pins knocked down in his next two rolls.
If he gets a spare or strike in the last (tenth) frame, the bowler gets to throw one or two more bonus balls, respectively. - These bonus throws are taken as part of the same turn. If the bonus throws knock down all the pins, the process does not repeat: the bonus throws are only used to calculate the score of the final frame.

Kata: Bowling Game

The game score is the total of all frame scores.

Here are some things that the program will not do:

We will not check for valid rolls.
We will not check for correct number of rolls and frames.
We will not provide scores for intermediate frames.

The input is a scorecard from a finished bowling game, where "X" stands for a strike, "-" for no pins bowled, and "/" means a spare. Otherwise figures 1-9 indicate how many pins were knocked down in that throw.
Sample games:
12345123451234512345
always hitting pins without getting spares or strikes, a total score of 60
XXXXXXXXXXXX
a perfect game, 12 strikes, giving a score of 300
9-9-9-9-9-9-9-9-9-9-
heartbreak - 9 pins down each round, giving a score of 90
5/5/5/5/5/5/5/5/5/5/5
a spare every round, giving a score of 150

求答案 ?
一筐鸡蛋:
1个1个拿,正好拿完。
2个2个拿,还剩1个。
3个3个拿,正好拿完。
4个4个拿,还剩1个。
5个5个拿,还剩1个
6个6个拿,还剩3个。
7个7个拿,正好拿完。
8个8个拿,还剩1个。
9个9个拿,正好拿完。
问筐里有多少鸡蛋?
1个1个拿正好拿完,3个3个拿正好拿完,7个7个拿正好拿完,9个9个拿正好拿完,框子里鸡蛋的个数是4*9=63的倍数。
2个2个拿剩1个,5个5个拿剩余1个,个位数是1。
所以从以下数中找: 63×7、 63×17 、63×27 、63×37……
所以最小数是441个
温馨提示:内容为网友见解,仅供参考
无其他回答

程序员算法解题方法与思路
1)将问题的实例划分为几个较小的实例,最好最有相等的规模。2)对这些较小的实例求解,而最常见的方法一般是递归。3)如歌有必要,合并这些较小问题的解,以得到原始问题的解。一般而言,时间复杂度越低的算法越高效。而更想达到时间复杂度的高效,很多时候就必须在空间上有所牺牲,用空间来换时间。

算法题看不懂的时候该怎么办?
2.分析问题:将问题分解成更小的部分,然后逐个解决。这可以帮助你更好地理解问题的本质,并找到解决问题的方法。3.查找资料:利用互联网资源,如搜索引擎、技术论坛和博客等,查找与问题相关的信息。这些资源可能会提供解决问题的思路、代码示例或者算法实现。4.与他人讨论:与同学、老师或者其他有经验的...

怎么刷算法题?看这篇就够了,文末有干货福利
首先,意识到算法能力并非智商独占,而是可以通过后天训练提升。其次,难度设定要合理,先从基础开始,逐步提升,确保每个阶段都能稳固掌握。按照算法分类选择题目,如链表、二叉树、动态规划等,系统性学习能带来事半功倍的效果。刷题过程建议采用“三步曲”:读懂题目、分析解法、实现思路。通过封装思想简化...

你的解题思路是什么?
(1)算法式 一个算法就是为达到某一个目标或解决某个问题而采取的一步一步的程序。算法策略就是在问题空间中随机搜索所有可能的解决问题的方法,直至选择一种有效的方法解决问题。简而言之,算法策略就是把解决问题的方法一一进行尝试,最终找到解决问题的答案。例如,忘记了银行卡的密码,需要一一尝试...

程序运算题怎么做
3、贪心算法:根据当前情况,每次选择局部最优解,并希望最终能达到全局最优解的算法策略,在一些特定问题中有很好的应用,如活动选择问题等。4、深度优先搜索和广度优先搜索:通过遍历图或树的节点,解决一些需要搜索、探索或遍历的问题,如迷宫问题、拓扑排序等。第四部分:刻意练习,多做算法题 熟能生...

求解这道C++算法实验题
思路:给定一个序列,假设我们要建一个邮局,那么一定是在这个序列的中点,所以我们可以先预处理出序列区间[l,r]之间建立 一个邮局的最短距离和w[l][r],然后用dp[i][j]表示到i个村庄建立j个邮局的最短距离和,那么就有状态转移方程:dp[i][j]=min(dp[i][j],dp[k][j-1]+w[k+1][i])...

数据结构与算法,这道难题怎么做啊,求指教
首先,要能够读懂代码,总结算法的思想,搞清楚该题算法是完成什么功能,然后是填空也好,写算法结果也好,就不成问题了。要想提高的快,就得多练啊。同时教材中的相关算法也要熟,好多是书中的原算法 1. 在计算机中,算法是指什么?答案:解题方案的准确而完整的描述。2. 在下列选项中,哪个不是一...

秋招笔试算法题不会做还怎么办?
可以通过不断地思考,总结,归纳,不断刷题来提高自己算法题的水平,没有什么困难的,你需要尽力去学习,祝取得好成绩。如何提高学习效率 时间长并不一定有用,问题的关键是:你的单位时间内的学习效率有多高!看着同学们一天到晚都在学习,但为什么效果不佳?这是一个学习中的老大难问题,也是最令家长...

两道算法题的求解思路,谢谢
Jack要保证不输,必须保证n次重复后,当轮到Tom拿时只剩下一个球,因为是Tom先拿,每次拿1~6个,只需要每次在Tom拿完后(假设Tom拿了x个),Jack再拿7-x个,这样每一轮Jack拿完两个人加起来都拿走了7个球,重复7次拿走49个球,最后剩一个轮到Tom来拿,Jack有必胜策略 3个人带黑帽子。

学习算法的路,该怎么走?
传统的算法书,大多注重内容的收录,但却忽视思维过程的展示,因此我们学习了经典的算法,却费解于算法设计的过程。遇到一个实际问题,通过问题分析,选择使用什么样的算法策略,基于这种算法策略选择什么样的数据结构,有时算法策略和数据结构的选择并不是唯一的,不同的算法策略和数据结构设计的算法,其...

相似回答