#include<bits/stdc++.h>
using namespace std;
int n,k,m,sum=0,s=0,x=0;
bool a[1050];
int main(){
scanf("%d%d%d",&n,&k,&m);
for(int i=1;i<=n;i++) a[i]=1;
int i=k;
while(sum!=n-1){
if(a[i]==1) s++;
if(s==m){
a[i]=0;
s=0;
sum++;
}
i++;
if(i==n+1) i=1;
}
for(int j=1;j<=n;j++){
if(a[j]==1){
x=j;
break;
}
}
printf("%d",x);
return 0;
}
n只猴子选大王,选举方法如下:所有猴子按1,2,…,n编号按照顺序围成一圈,从第k个猴子,由1开始报数,报到m时,该猴子就离开,下一只猴子再次由1开始报数,如此循环,直到圈内只剩下一只猴子时它就是大王
最新推荐文章于 2025-12-02 15:32:05 发布
2859

被折叠的 条评论
为什么被折叠?



