#include <stdio.h>
void main() {
int person[18] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17};
int counter = 17;
int i = 1, j = 1, recorder = 1;
do {
if (person[i]) {
if (j++ >= 3) { //报3的退出
person[i] = 0;
j = 1;
counter--; //计数器减一
}
else
recorder = i;
if (counter <= 1)
break;
}
if (i >= 17)
i = 1;
else
i++;
} while(1);
printf("\n%d\n", recorder);
}
17人围成一圈(编号1-17)从一号开始进行1、2、3报数,凡报3者就退出,下一个又从一开始报数直到最后一人。此人原来的位置是多少
最新推荐文章于 2021-05-22 12:32:06 发布