超级简单的水题,用STL中的vector或者list都行
#include<iostream>
#include<vector>
using namespace std;
void baoshu(vector<int> &v,int num) {
int num1=1;
for(vector<int>::iterator it = v.begin(); it!=v.end();) {
if(num1%num==0)it=v.erase(it);
else ++it;
num1++;
}
}
int main() {
int n;
cin>>n;
int num;
while(n--) {
vector<int> v;
cin>>num;
for(int i=1; i<=num; i++) {
v.push_back(i);
}
while(v.size()>3) {
baoshu(v,2);
if(v.size()<=3)break;
baoshu(v,3);
}
for(vector<int>::iterator it = v.begin(); it!=v.end();) {
cout<<*it;
if(++it!=v.end())cout<<" ";
}
cout<<endl;
}
return 0;
}