#include <iostream>
using namespace std;
int main(){
int n; //n个人
int len; //动态人数
int i =1; //计数器
int j =1; //bool数组下标
cin >> n;
len =n;
int a[n+1];
for(int i = 0;i<n+1;i++)
a[i] = 0; // bool数组置0
while(len>2){ //人数大于2则执行
if(i ==3 && a[j] == 0){
a[j] = 1; //表示此人已退圈
i = 0;
len--;
}
j =(j)%(n);
j++;
if(a[j] == 0)
i++;
}
for(int k = n;k>0;k--){ //输出最后的一个编号
if(a[k] == 0){
cout << k;
break;
}
}
return 0;
}
0.0分
0 人评分
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:880 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:841 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:349 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:596 |
字符逆序 (C语言代码)浏览:617 |
1025题解浏览:738 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:683 |
核桃的数量 (C语言代码)浏览:872 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:690 |
Tom数 (C语言代码)浏览:555 |