题解 1047: [编程入门]报数问题

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

报数问题-题解

摘要:解题思路:这是著名的约瑟夫杀人问题,有n个人,报数为3的人将会被杀死并从被杀死的人的下一个人重新开始报数,最后只留下一个人。              所以我们可以定义一个数组,为了方便,可以将a[0……

map容器暴力模拟

摘要:用key代表初始编号,value代表每个人报的数,通过不断删除value为3(这里用0表示)的元素模拟每轮报数的情况,直到容器中只剩下最后一个元素,其key值即为所求值。 ```cpp #incl……

双向循环链表解决

摘要:解题思路:建立双向循环链表,每个结点保存一个人的序号,当被点到时删除结点并重新连接左右两个结点,直到剩下最后一个结点为止。注意事项:算法的时间复杂度和空间复杂度很高,很容易超过时间限制。参考代码:#i……

报数问题,通用的!!!(Java代码)

摘要:解题思路:这道题明显就是一个约瑟夫环的问题,只不过就是简化了,给了一个固定的数而已思路如下:1. 需要创建一个单向的循环链表(怎么创建这里我就不多说了)2. 解决约瑟夫环问题的思路: 2.1 需要创建……

1047:[编程入门]报数问题

摘要:解题思路:  退出的人,让他的编号变成0就好啦!为了让循环一直跑下去,需要取i和n的余数注意事项:本题涉及判断条件较多且严格,保持头脑清晰,可以在每次循环中打印一遍数组,以检验代码参考代码:#incl……