黑马程序员技术交流社区
标题:
分享代码
[打印本页]
作者:
刘德坤
时间:
2015-10-13 16:48
标题:
分享代码
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)+"个人留下来了");
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2