有20个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,按退出的的顺序把数字排出来.
public static void main(String[] args) {
int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
int b, c = 0,e = 0,h = 20, i = 20;
while (h > 1) {
for (b = 1; b <= i; b++) {
for (; a[c] == 0;)
c = c + 1;
if ((b + e) % 3 == 0) {
System.out.println(a[c]);
a[c] = 0;
h--;
}
c++;
}
e = (i + e) % 3;
i = h;
c = 0;
}
}