15个猴子围成一圈选大王,依次1-n循环报数,报到n的猴子被淘汰,直到最后一只猴子称为大王,问:哪只猴子会成为大王?
//15个猴子围成一圈选大王,依次1-n循环报数,报到n的猴子被淘汰,直到最后一只猴子称为大王
package comm.ddd.eee;
import java.util.Scanner;
public class Sh8 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n;
n = scan.nextInt();
int count = 0; //记录淘汰的猴子数
int m = 0;
int[] a = new int[15];
for (int i = 0; i < 15; i++) {
a[i] = 1;
}
while (count < 14) {
for (int i = 0; i < 15; i++){
if (a[i] == 1)
m++;
if (m == n) {
a[i] = 0; //标记淘汰的猴子
count++;
m = 0;
}
}
}
for (int i = 0; i < 15; i++) {
if (a[i] == 1)
System.out.println("第" + (i + 1) + "个猴子会成为大王");
}
}
}
以上是自己写的一段代码,记录学习情况,如有不对,请多见谅。