怎么咧的理解的这是
6.有17个人围成一圈(编号为0~16),从第 0号的人开始从 1报数, 凡报到 3的倍数的人离开圈子,然后再数下去,直到最后只剩下一个人为止。 问此人原来的位置是多少号? 利用数组解答输出。#include<stdio.h>
#define M 17
int main()
{
int temp = 0;
int b = 1, k = 0, i;
for (i = 1; i <= M; i++)
{
temp = b + 3 * k;
if (i == temp)
{ //规则2:若上一组数字为最后保留号与人数相等,则下一数从2开始记。
b = 2;
k = 0;
continue;
}
else if (i - temp == 1)
{ //规则1:若上一组数字为最后保留号比人数少一,则下一数从1开始记。
b = 1;
k = 0;
continue;
}
k++;
}
printf("%d\n", temp-1);
return 0;
}
不是看的特别的理解