原题链接:[编程入门]报数问题
解题思路
看到题的第一刻就看出了这是一个低配版的约瑟夫环问题,那该怎么做呢,在看到题目的时候他告诉了你的要求分别是,人数,报数人,报数号,在报数号等于3时我们要将报数人淘汰,然后从1重新报数,当所有人数都报完后将重新从第一个开始报数,所以我的思路就是,设置两个计数器分别表示报数号和报数人,判断条件为出圈人数,当出圈人数=总人数-1的时候,那最后剩下的那个人就是我们要输出的号。
注意事项:
我在做的时候一开始,问题就出现在不知道该怎么去判断这个数是出圈人还是在圈人,所以我创立了一个bool数组,将数组全部遍历为真,当有一个出圈人数被判定出来,就会变为假,在新一轮报数的时候将会自动跳过他。
参考代码:
0.0分
8 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复