解题思路
看到题的第一刻就看出了这是一个低配版的约瑟夫环问题,那该怎么做呢,在看到题目的时候他告诉了你的要求分别是,人数,报数人,报数号,在报数号等于3时我们要将报数人淘汰,然后从1重新报数,当所有人数都报完后将重新从第一个开始报数,所以我的思路就是,设置两个计数器分别表示报数号和报数人,判断条件为出圈人数,当出圈人数=总人数-1的时候,那最后剩下的那个人就是我们要输出的号。
注意事项:
我在做的时候一开始,问题就出现在不知道该怎么去判断这个数是出圈人还是在圈人,所以我创立了一个bool数组,将数组全部遍历为真,当有一个出圈人数被判定出来,就会变为假,在新一轮报数的时候将会自动跳过他。
参考代码:
0.0分
10 人评分
时间转换 (Java代码)浏览:572 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1030 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:459 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1051 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1242 |
printf基础练习2 (C语言代码)浏览:644 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:647 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:919 |
【矩阵】 (C++代码)浏览:936 |
输出九九乘法表 (C语言代码)浏览:1048 |