#include <stdio.h>
void PanDuan(int a[],int n);
int main( ){
int n,i;
scanf("%d",&n);
int M[n-1];
for(i=0;i<n;i++){
M[i]=1;
}
PanDuan(M,n);
return 0;
}
void PanDuan(int a[],int n){
int i,m=0,flag;
while(1){
flag=0;
for(i=0;i<3;){
i=i+1;
if(a[m]==0){
i=i-1;
}
if(a[m]!=0&&i==2){
a[m]=0;
}
if(m==n-1){
m=0;
}
else{
m++;
}
}
for(i=0;i<n;i++){
if(a[i]==0){
flag++;
}
}
if(flag==n-1){
break;
}
}
printf("%d",m+1);
}
约瑟夫问题
最新推荐文章于 2025-07-06 18:29:24 发布