版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89207253
这道题题眼主要在n人围成一圈,循环报数,1,2,3,
用数组下标来表示第几个人。
数组数据来表示是否退出圈子
#include<bits/stdc++.h>
using namespace std;
int main() {
int k;
int i;
int num=0,sum=0;
bool key=true;
cin>>k;
int a[k];
for(int i=0;i<k;i++){
a[i]=1;
}
while(key){
i=0;
while(i<k){
if(a[i]==1){
num+=1; //报数
}
if(num==3){
a[i]==0;
sum+=1;
num=0;
}
i++;
}
if(sum==k-1){
key=false;
}
}
for(int i=0;i<k;i++){
if(a[i]==1){
cout<<i+1;
break;
}
}
return 0;
}