题目内容:n只猴子(n\u003C100)要选大王,选举方法如下:所有猴子按1,2,3,……, n编号围坐圈,从第1号开始按照1,2,……, m报数,凡报到m号的退出圈外,如此循环报数,直到圈内剩下一只猴子时,这只猴子就是大王。编程一个程序实现上述过程,n和m由键盘输入
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
int n,m,q,i,out,num=0;
scanf("%d %d %d",&n,&m,&q);
int s[n];
out=0;
for(i=q-1;out<n;i++)
{
if(i==n)
i=0;
if(!s[i])
{
num++;
if(num==m)
{
num=0;
out++;
s[i]=1;
if(out==n)
{
printf("%d",i+1);
}
}
}
}
return 0;
}