黑马程序员技术交流社区

标题: 数组练习--数3退1游戏 [打印本页]

作者: iq513394    时间: 2015-10-27 19:47
标题: 数组练习--数3退1游戏
一群小朋友围成一圈数数,数到3的那个小朋友退出圈,下一个接着重新数数。500个小朋友最后剩下的那一个是哪个小朋友。

  1. public static void main(String[] agrs) {
  2.                 //使用数组代表500孩子,true代表在圈里。
  3.                 boolean[] childs = new boolean[500];
  4.                 for(int i=0; i<childs.length; i++) {
  5.                         childs[i] = true;
  6.                 }
  7.                
  8.                 int leftCount = childs.length;//圈里还剩下几个孩子
  9.                 int count = 0;//数数计数器
  10.                 int index = 0;//下标
  11.                
  12.                 while(leftCount>1) {//只剩下1个时结束
  13.                         if(childs[index] == true) {//是否在圈里
  14.                                 count++;//数数
  15.                                 if(3 == count) {//数到3
  16.                                         count = 0;//重新开始计数
  17.                                         childs[index] = false;//这个孩子退出
  18.                                         leftCount--;//圈里剩下孩子减1
  19.                                 }
  20.                         }
  21.                         index++;//下一个
  22.                         if(index == childs.length) {//如果到了最后一个,再从0下标开始
  23.                                 index = 0;
  24.                         }
  25.                 }
  26.                 //循环找出最后一个孩子的下标
  27.                 for(int i=0; i<childs.length; i++) {
  28.                         if(childs[i] == true)
  29.                                 System.out.println(i);
  30.                 }
  31.         }
复制代码

作者: zzzzll2222    时间: 2015-10-30 22:44
好高深,很强大
作者: iq513394    时间: 2015-10-30 22:47
zzzzll2222 发表于 2015-10-30 22:44
好高深,很强大

谢谢支持
作者: 啊兴为梦想    时间: 2015-10-30 22:50
大神 不错哦 带我飞带我︿( ̄︶ ̄)︽( ̄︶ ̄)︿飞.飞.飞.
作者: iq513394    时间: 2015-10-30 22:53
啊兴为梦想 发表于 2015-10-30 22:50
大神 不错哦 带我飞带我︿( ̄︶ ̄)︽( ̄︶ ̄)︿飞.飞.飞.

谢谢支持
作者: myworkspace    时间: 2015-10-30 23:21
写的不错,支持下.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2