题解 | 约瑟夫环
约瑟夫环
https://www.nowcoder.com/practice/e417cfe32c74416ca38247f619ddb322
#include <stdio.h>
int main() {
int n,k,m;
scanf("%d %d %d",&n,&k,&m);
int a[n];
for(int i=0;i<n;i++){
a[i]=1;
}
int num=0;
int count=n;
while(count>1){
if(a[k]==1){
num++;
if(num==m){
a[k]=0;
count--;
num=0;
}
}
k=(k+1)%n;
}
for(int i=0;i<n;i++){
if(a[i]==1){
printf("%d\n",i);
break;
}
}
return 0;
}
深信服公司福利 816人发布