感觉标题叫做:固定数字排除也不错,嘿嘿
//问题:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位
#include<iostream>
using namespace std;
#define N 100
int Num()
{
int n ,m=0,j=0,k=0;
cin >> n;
int num[N];
int * p = num;
for (int i = 0; i < n; i++)
{
*(p + i) = i + 1;
}
while (m<n-1)
{
if (p[j] != 0 )
{
k++;
}
if (k == 3)
{
p[j] = 0;
k = 0;
m++;
}
j++;
if (j == n)
{
j = 0;
}
while (*p == 0)
{
p++;
}
}
return *p;
}