注意输入是1时第一行后面没有空格~
#include <iostream>
#include <bits/stdc++.h>
#define maxn 51
using namespace std;
int a[maxn];
int n;
//向前移动一位
void f()
{
for(int i = 1;i<n;i++)
{
a[i] = a[i+1];
}
}
int main()
{
while(cin>>n&&n!=0)
{
int num = n;
for(int i = 1;i<=n;i++)
{
a[i] = i;
}
cout<<"Discarded cards:";
if(num>1) cout<<" ";
while(num>2)
{
cout<<a[1]<<", ";
num--;
f();
a[num+1] = a[1];
f();
}
if(num==1)
{
cout<<endl;
cout<<"Remaining card: "<<a[1]<<endl;
}
else
{
cout<<a[1]<<endl;
cout<<"Remaining card: "<<a[2]<<endl;
}
}
return 0;
}