解题思路
看到题的第一刻就看出了这是一个低配版的约瑟夫环问题,那该怎么做呢,在看到题目的时候他告诉了你的要求分别是,人数,报数人,报数号,在报数号等于3时我们要将报数人淘汰,然后从1重新报数,当所有人数都报完后将重新从第一个开始报数,所以我的思路就是,设置两个计数器分别表示报数号和报数人,判断条件为出圈人数,当出圈人数=总人数-1的时候,那最后剩下的那个人就是我们要输出的号。
注意事项:
我在做的时候一开始,问题就出现在不知道该怎么去判断这个数是出圈人还是在圈人,所以我创立了一个bool数组,将数组全部遍历为真,当有一个出圈人数被判定出来,就会变为假,在新一轮报数的时候将会自动跳过他。
参考代码:
0.0分
10 人评分
【回文数(二)】 (C++代码)浏览:865 |
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1745 |
矩形面积交 (Java代码)浏览:1213 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:859 |
WU-printf基础练习2 (C++代码)浏览:2000 |
Hello, world! (C语言代码)浏览:714 |
简单的a+b (C语言代码)浏览:478 |
字符串的输入输出处理 (C语言代码)浏览:984 |
简单的a+b (C语言代码)浏览:628 |
数列问题 (C语言代码)浏览:1019 |