出圈问题,答案该怎么理解
题目:设有n个人围坐一圈并按顺时针方向从1到n编号,从第1个人开始进行1到m的报数,报数到第个m人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所剩下一人为止。
输入include <stdio.h>
int main()
{
int n,m,s = 0;
while(scanf("%d%d", &n,&m)!=EOF)
{
s = 0;
for (int i = 2; i <= n; ++i)
s = (s+m)%i;
printf("%d\n", s+1);
}
return 0;
}