include[HTML_REMOVED]
// 约瑟夫环,轮流报数,n个人报数,报的3的人出局,循环报数,最后一个人序号是多少?
int main(){
int index=0,baoshu=0; //变量在求解的过程一步一步慢慢加。
int table[100]={};
int count;
scanf(“%d”,&count);
int n=count;
for(int i=1;i<=count;i){
table[i]=1;
}
while(count>=1){
index;
baoshu;
while(table[index]==0){ //有可能出现连续几个人出局,只index;
index++;
if(index>n){
index=1;
}
}
if(baoshu==3){ //判断条件放在那,对于一个题,入口太多,一步一步来,不清楚循环咋写的便可以使用一步一步写出来。
table[index]=0;
count–;
if(count==0){
printf(“%-4d”,index);
}
baoshu=0;
}
}
}