猴子选大王
作者:互联网
题目描述
猴子选大王,有N只猴子,从1~N进行编号。它们按照编号的顺时针方向,排成一个圆圈,然后从第一只猴子开始报数。第一只猴子报1,以后每只猴子报的数字都是它前面猴子所报数字加1。如果一只猴子报的数字是M,则该猴子出列,下一只猴子重新从1开始报数。剩下的猴子继续排成一个圆圈报数,直到全部的猴子都出列为止。最后一个出列的猴子胜出。
输入格式
第一行为一个整数t,表示测试的例子数量。接下来会有t行输入,每一行包含两个正整数N(0<N<=100)和M(0<M<=100)。
输出格式
对于每个测试例子,输出猴子大王的编号。
样例输入
2
5 2
4 3
样例输出
3
1
#include<iostream>
using namespace std;
int main(void)
{
int t=0;
cin >> t;
for(int j=0;j<t;j++){
int n, m, i, s = 0;
cin >> n >> m;
for (i = 2; i <= n; i++)
{
s = (s + m) % i;
}
cout << s+1 << endl;
}
return 0;
}
标签:int,样例,猴子,编号,大王,报数 来源: https://www.cnblogs.com/Starchaser/p/15567927.html