纸牌问题,编号为从1到n的纸牌,扔去第一张,把剩下的第一张放在最下面,直到剩下一张牌,输出扔去的牌和剩下的牌的序列。
#include<iostream>
#include<queue>
using namespace std;
void main()
{
queue<int> q;
int n;
cin>>n;
for(int i=0;i<n;i++)
q.push(i+1);
while(!q.empty())
{
cout<<q.front()<<" ";
q.pop();
if(!q.empty())
{
q.push(q.front());
q.pop();
}
else
return;
}
}