猴子选大王 3
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
【题目描述】
有一群进化程度很高的猴子,它们不再通过群殴产生猴王,而是采用一种非常文明的方法选出新的猴王。
猴群里有 n 只猴子,它们在篝火旁围坐成一个圈:其中一只猴子是 1 号,沿顺时针方向依次是 2 号、3 号、……、 n 号,最后回到 1 号。由上一代猴王说出一个数字 m(保证 n-1 是 m-1 的倍数),从 1 号猴子开始按顺时针方向依次报数,报到 2、3、……、m 的猴子依次出局;再从刚刚出局猴子的顺时针方向下一个还在圈里的猴子开始重新从 1 开始按顺时针方向报数,报到 2、3、……、m 的猴子依次出局……如此重复,直至剩下一只猴子,它就成为新的猴王。
例如,当 n=5、m=3 时,依次出局的猴子序号是 2、3、5、1,最后剩下 4 号是新猴王。
对于给出的 n 和 m 的值,你知道几号猴子最后会成为新的猴王吗?
多组数据。
【输入格式】
多组数据。
每组数据占一行,包含两个正整数 n、m,中间以一个空格隔开,含义如题所述。
当读入的 n 和 m 均为 0 时,表示输入结束。
【输出格式】
每组数据的答案占一行,包含一个整数,表示新猴王的编号。
【样例输入】
5 3
5 2
7689649 2563217
1002775810 2
1683654178 561218060
0 0
【样例输出】
4
3
5126435
931809797
1122436121
【数据范围】
共 20 个测试点,所有测试点均不超过 10 组数据,且均保证 n-1 是 m-1 的倍数。具体如下:
| 测试点编号 | n | m |
|---|---|---|
| 1 | 2 ≤ n ≤ 1,000 | m = 2 |
| 2 | 2 ≤ n ≤ 1,000 | 2 ≤ m ≤ 1,000 |
| 3 | 2 ≤ n ≤ 10,000,000 | m = 2 |
| 4-6 | 2 ≤ n ≤ 10,000,000 | 2 ≤ m ≤ 10,000,000 |
| 7-8 | 2 ≤ n ≤ 1000,000,000 | m = 2 |
| 9-10 | 2 ≤ n ≤ 1000,000,000 | 2 ≤ m ≤ 1000,000,000 |
| 11-12 | 2 ≤ n < 2^31 | m = 2 |
| 13-20 | 2 ≤ n < 2^31 | 2 ≤ m < 2^31 |