/**
* 有n个人围成一圈,顺序排号。
* 从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,
* 问最后留下的是原来第几号的那位
*/
public void quit(int n) {
int[] a = new int[n];
int i = 0;
int t = 0;
while (n > 1) {
if (a[i] == 0) {
t++;
if (t == 3) {
t = 0;
a[i] = 1;
n--;
}
}
i++;
if(i == a.length){
i = 0;
}
}
for(int j=0;j<a.length;j++){
if(a[j]!=1){
System.out.println(j+1);
}
}
}
围圈报数(do)
最新推荐文章于 2022-11-10 16:04:56 发布