java 循环报数

来源:互联网 发布:java图形化 编辑:程序博客网 时间:2024/05/16 15:14

/*
 * 三十个猴子围成一圈选大王,依次1-7 循环报数,报到7 的
 * 猴子被淘汰,直到最后一只猴子成为大王。问,哪只猴子最后能成为大王?
 */
public class TwelveDemo 
{
public static void main(String[] args) 
{
int num = 30;   
boolean[] array = new boolean[num];
for(int i=0; i<num; i++)  
{
array[i] = true;
}
int index = 0; 
int count = 0;
int n = num;
while(n > 1)
{
if(array[index] == true)
{
count++;
if(count == 7)//当count等于7时,就淘汰一个;
{
array[index] = false;
n--;        //当有一个被淘汰时,n--;
count = 0;
}
}
index++;       //当从0循环到29时,重新置index为0;
if(index == num)
{
index = 0;
}
}
for(int i=0; i<num; i++)  
{
if(array[i] == true)
System.out.println(i + 1);
}
}
}
0 0