选队长游戏
任务概述:
今天同学们相约一起爬山游玩,为了更好的进行这场活动,大家准备推举 一个人作为出游的临时队长。为了体现合理公平,大家提出了一个比较有趣的 规则。所有人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的当选为队长。请你通过编写程序,求出一组人中的队长是原来第几位同学。
思路:
1.先将所有同学(n位)编入一个布尔数组,全部赋值为true。
2.因为最后只会剩下一个同学,所以我们在剩余人数left_Num大于1的时候,进行循环。
3.循环开始遍历数组,如果值为true,则进行报数,报到3的人变为false,剩余人数减一,计数加一,当计数人数为n时,重新遍历。
4.最后剩下的一位同学为队长。
代码:
public class CaptainSelection {
public static void main(String[] args) {
// ------获取参与的同学人数
System.out.println("请输入参与人数:"