桌上一叠牌,从第一张牌开始从上往下依次编号1~n,当至少还剩2张牌时进行以下操作
把第一张扔掉,然后把新的第一张放到一叠牌的最后,并输出仍掉的。
I:n O:每次扔掉的牌以及剩下的牌
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <algorithm>
using namespace std;
int main()
{
int a[100];
int n, i;
int beg, end;
scanf("%d" ,&n);
for (i = 0; i < n; i++)
{
a[i] = i + 1;
}
beg = 0;
end = n;
while (beg < end)
{
printf("%d ", a[beg]);
a[end] = a[++beg];
beg++;
end++;
}
system("pause");
return 0;
}