刘汝佳在书上写的建议用set,我用了queue,不好意思因为看题目的描述太像队列操作了。也算是提供一种不同的解法吧。
#include<iostream>
#include<queue>
#include<cmath>
using namespace std;
int main(){
int n, a;
cin >> n;
queue<int> num;
for(int i = 1; i <= n; i++)
num.push(i);
while(num.size() > 1){
a = num.front();
num.pop();
cout << a << endl;
a = num.front();
num.pop();
num.push(a);
}
return 0;
}
书上没给格式要求和样例,输入输出的控制可能不标准。