#include "stdio.h"
#include "stdlib.h"
#define childNumber 500
#define times 3
int main () {
//如果childs数组的值是1表示的小孩在数组中否则的话就不在了
int childs[childNumber];
for (int i = 0;i < childNumber;i++) {
childs[i] = 1;
}//构成一个圈,
int count = 0;
int index = 0;
int leftChild = childNumber;
while (leftChild>1) {
if (childs[index]!=0) {
count++;//相当于计数器的作用了
}
if (count == times) {
childs[index] = 0;
leftChild--;
count = 0;
}
index = (index+1)%childNumber;
}
for (int j = 0;j < childNumber;j++) {
if (childs[j]!=0) {
printf("%d\n",j);
}
}
printf("\n");
return 0;
}
小孩围圈问题
最新推荐文章于 2022-05-04 19:22:21 发布