package com.itheima;
/**
* 第10题:
* 有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。
* 问:最后剩下的是100人中的第几个人?
* @author ahuangtao
*
*/
public class Test10 {
public static void main(String[] args) {
me();
}
private static void me() {
int len = 100;
//开始有100个人,这100个人系统默认就是false(boolean数组成员初始值为false)
boolean[] peoples = new boolean[len];
//记录现在是第几个人报号
int nowPeople = 0;
//故当第14个人退出时,把其数据修改为true
while (len > 1) {
for (int i=0; i < peoples.length; i++) {
if (!peoples[i]){
nowPeople++;
//报到14的退出(即把其值修改为true)
if (nowPeople == 14){
//从1开始
peoples[i] = true;
nowPeople = 0;
len--;
}
}
}
}
for (int i = 0; i < peoples.length; i++) {
if (!peoples[i]){
System.out.println("第"+(i+1)+"个人留下来了");
}
}
}
}
|
|