JAVA选队长游戏训练任务
任务概述
今天同学们相约一起爬山游玩,为了更好的进行这场活动,大家准备推举
一个人作为出游的临时队长。为了体现合理公平,大家提出了一个比较有趣的规则。所有人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的当选为队长。请你通过编写程序,求出一组人中的队长是原来第几位同学。
代码
package day03;
public class Demo2_5_6 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int people = 10;//人数
boolean team[] = new boolean[people];
int count = 0;//报数
int flag = 0;//下标
for(int i=0;i<team.length;i++){
team[i]=true;
}
while(people>1) {
if(team[flag]==true) {//true就报数
count++;
}
if(count==3) {
team[flag]=false;
people--;
count=0;//重新赋值
}
flag++;
if(flag==10) {//轮回重新报数
flag=0;
}
}
//输出幸存者坐标
for(int i=0;i<team.length;i++){
if(team[i]==true) {
System.out.println(i);
}
}
}
}