https://ac.nowcoder.com/acm/contest/19306/1003

来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒

空间限制:C/C++ 32768K,其他语言65536K

64bit IO Format: %lld

题目描述

n个人(0,1,2,3,4...n-1),围成一圈,从编号为k的人开始报数,报数报到m的人出队(报数是

1,2,...m这样报的)。下次从出队的人之后开始重新报数,循环往复,当队伍中只剩最后一个人的时

候,那个人就是大王。现在,给定n,k,m,

请你求出大王的编号。

输入描述:

输入一行包含三个整数n,k,m

1<=n<=100,1<=k<=n-1,1<=m<=100

输出描述:

输出一个整数

示例1

输入

5 1 2

输出

#include <stdio.h>

int main()

{

int n,k,m;
scanf("%d%d%d",&n,&k,&m);
int a[100]={0};
int t=0,q=0,i=k-1;
while(1)
{
    i++;
    if(a[i]!=-1){
        t++;
        if(t==m)
          {
            a[i]=-1;
            q++;
            t=0;
          }
     
       }
     if(q==n-1) break;
       if(i==n-1) i=-1;
}

for(int i=0;i<n;i++)
    if(a[i]!=-1) {
        printf("%d",i);
        break;
    }

}