松鼠吃果子
题目描述
有 n n n 个一种松鼠喜欢吃的果子由下向上串排成一列,并标号 1 ∼ n 1\sim n 1∼n。一只松鼠从最下果子开始向上跳,并且第 i i i 次跳可以一次跳过 ( i 3 m o d 5 + 1 ) (i^3 \bmod 5 + 1) (i3mod5+1) 个果子,并把脚下的果子吃了,如果上面有果子,在重力作用下,都将向下掉下一格。如第 1 1 1 次跳从第一个果子上跳过 ( 1 3 m o d 5 + 1 = ) 2 (1^3 \bmod 5 + 1 = ) 2 (13mod5+1=)2 个果子,可跳到第 3 3 3 个果子上,并把第 3 3 3 个果子吃了;第 2 2 2 次从第 4 4 4 个果子上(落在原来第三个果子位置)跳过 ( 2 3 m o d 5 + 1 = ) 4 (2^3\bmod 5 + 1 = ) 4 (23mod5+1=)4 个到第 8 8 8 个果子上,并把第 8 8 8 个吃了;如此反复。
当然,总有一次松鼠会跳出这串果子的最前面,设为每 k k k 次,它吃不到任何果子了。这时它回到最下面的果子上,重做它的第 k k k 次跳,以求吃到果子。如此,问它吃的第 m m m 只果子(即第 m m m 跳吃到的果子)的标号是什么?
输入格式
一共两行,分别为 n n n 和 m m m( 1 ≤ m ≤ n ≤ 200 1\le m\le n\le 200 1≤m≤n≤200,并且满足能够跳到第 m m m 次)。
输出格式
一个数,即它吃的第 m m m 只果子的标号。
样例 #1
样例输入 #1
10
4
样例输出 #1
9
提示
注:吃掉的果子依次为 3 3 3, 8 8 8, 4 4 4(回到下面重做第 3 3 3 跳), 9 9 9(回到下面重做第 4 4 4 跳)。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容