

今天的题有点难,有能力的来挑战一下吧,(凑一下30字还没到30字么.)
void CountOff(int n, int m, int out[])
{
int i, j, ct;
int data[MAXN];
for (i = 0; i < n; i++)
data[i] = i + 1;
i = j = ct = 0;
while (ct < n - 1)
{
if (data[i] != 0)
j++;
if (j == m)
{
out[ct++] = data[i];
data[i] = 0;
j = 0;
}
i++;
if (i == n)
i = 0;
}
for (i = 0; i < n; i++)
if (data[i] != 0)
{
out[ct] = data[i];
break;
}
}