700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java报数编码 报数选队长代码 - 奇鸢iceDomain的个人空间 - OSCHINA - 中文开源技术交流社区...

java报数编码 报数选队长代码 - 奇鸢iceDomain的个人空间 - OSCHINA - 中文开源技术交流社区...

时间:2021-06-02 16:51:55

相关推荐

java报数编码 报数选队长代码 - 奇鸢iceDomain的个人空间 - OSCHINA - 中文开源技术交流社区...

需求

同学们相约一起游玩,大家准备推举一个人作为临时队长。为了体现合理公平,大家提出了一个规则。所有人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出,剩下的人继续报数,最后留下的当选为队长。求出一组人中的队长是原来第几位同学。

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入总人数");

int num = sc.nextInt();

int[] mates = new int[num];

//报数变量

int baoshu=0;

//退出人数

int exitNum = 0;

while(exitNum < num-1){

for (int i = 0 ; i

//0代表没退出,因为初始化为0

if (mates[i] == 0){

baoshu++;

if(baoshu == 3){

//-1代表退出

mates[i] = -1;

baoshu = 0;

exitNum++;

}

}

}

}

//寻找不为-1的下标

for (int i = 0 ; i

if (mates[i] == 0){

System.out.println("第"+ (i+1) + "号同学是队长");

}

}

}

整体思路是用一个数组代表全班同学,因为数组初始化为0,所以0代表还没有被淘汰的同学,设置-1为淘汰的同学。 使用一个while循环,循环条件是只剩下一位同学的时候停止循环。 循环报数,baoshu变量自加,到三则归零,报到3的同学被淘汰,设置为-1 如此循环,直到程序结束。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。