约瑟夫问题 稍微变了一下
一直模拟来着,tle了,参考了百度百科关于约瑟夫的问题,总算了解了。。
#include<stdio.h>
int main(){
int n,k,m;
while(scanf("%d%d%d",&n,&k,&m)&&(n||m||k)){
int f=0;
for(int i=2;i<n;i++)
f=(f+k)%i;
f=(f+m)%n;
printf("%d\n",f+1);
}
return 0;
}
约瑟夫问题 稍微变了一下
一直模拟来着,tle了,参考了百度百科关于约瑟夫的问题,总算了解了。。
#include<stdio.h>
int main(){
int n,k,m;
while(scanf("%d%d%d",&n,&k,&m)&&(n||m||k)){
int f=0;
for(int i=2;i<n;i++)
f=(f+k)%i;
f=(f+m)%n;
printf("%d\n",f+1);
}
return 0;
}