15个猴子围成一圈选大王,依次1-7循环报数,报到7的猴子被淘汰,直到最后一只猴子称为大王,问:哪只猴子会成为大王?
public static void main(String[] args) {
// 数组存储15个猴子的编号
int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
// 计数器
int n=0;
//两个for循环,当猴子报数一圈就第一个猴子重新报数
for(int i=0;i<a.length+1;i++){
for (int j = 0; j < a.length; j++) {
// 如果不为零,就报数
if(a[j]!=0)
n++;
// 数到7的猴子编号改为0
if(n==7){
System.out.println(a[j]+"不是大王");
a[j]=0;
n=0;
}
}
}
for (int i = 0; i < a.length; i++) {
if(a[i]!=0){
System.out.println(a[i]+"是大王");
}
}
}