解题思路
看到题的第一刻就看出了这是一个低配版的约瑟夫环问题,那该怎么做呢,在看到题目的时候他告诉了你的要求分别是,人数,报数人,报数号,在报数号等于3时我们要将报数人淘汰,然后从1重新报数,当所有人数都报完后将重新从第一个开始报数,所以我的思路就是,设置两个计数器分别表示报数号和报数人,判断条件为出圈人数,当出圈人数=总人数-1的时候,那最后剩下的那个人就是我们要输出的号。
注意事项:
我在做的时候一开始,问题就出现在不知道该怎么去判断这个数是出圈人还是在圈人,所以我创立了一个bool数组,将数组全部遍历为真,当有一个出圈人数被判定出来,就会变为假,在新一轮报数的时候将会自动跳过他。
参考代码:
0.0分
10 人评分