#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语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:910 |
最长单词 (C语言代码)浏览:1474 |
拆分位数 (C语言代码)浏览:1361 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:669 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:964 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:532 |
排序算法(选择,插入,冒泡)浏览:876 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:820 |
杨辉三角 (C语言代码)浏览:734 |
买不到的数目 (C语言代码)浏览:3134 |