Run ID:32707

提交时间:2022-07-26 12:07:28

#include <iostream> using namespace std; int main() { int n, cnt = 0, sum = 0;//cnt表示报数,sum表示出列的人 bool flag[1005] = {false}; cin >> n; for (int i = 1; ; i ++) {//枚举每个人的编号 if (i == n + 1) i = 1;//模拟报圈 if (!flag[i]) {//在没有出列的人中报数 ++ cnt; if (cnt == 3) {//这个人出列 flag[i] = true; cnt = 0;//报数器清零 sum ++; if (sum == n) { cout << i << endl; break; } } } } return 0; }