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

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

筛选

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

摘要:解题思路:利用动态数组,先把所有的数字输入,然后当3或者3的倍数时,就移除注意事项:在处理移除的时候,要注意当数组元素个数等于下标的时候,要把下标置为0,不然的话,index会一直增加,超出索引此处使……

[编程入门]报数问题

摘要:解题思路:寻找规律,F(i)=(F(i-1)+M)%i,然后最后的人的编号就是F(i)+1,使用递归注意事项:参考代码:#include<stdio.h>int main(){ int n; scan……

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

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

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

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

双向循环链表解决

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

map容器暴力模拟

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