n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。
题目练习:
https://vjudge.net/problem/LightOJ-1179
主要代码:
int f=0;
for(int i=1;i<=n;i++)
f=(f+k)%i;
代码:
#include<stdio.h>
int main()
{
int t,id=0;
scanf("%d",&t);
while(t--)
{
id++;
int n,k;
scanf("%d %d",&n,&k);
int f=0;
for(int i=1;i<=n;i++)
f=(f+k)%i;
printf("Case %d: %d\n",id,f+1);
}
return 0;
}