原题解答
本次的题目如下所示(原题出处:蓝桥杯)
【编程实现】
有n个人围成一个圈,按顺序排好号。然后从第一个人开始报数(从1到3
报数),报到3的人退出圈子,然后继续从1到3报数,直到最后留下一个
人游戏结束,问最后留下的是原来第几号。
输入描述:输入一个正整数n
输出描述:输出最后留下的是原来的第几号
【样例输入】
5
【样例输出】
4
本题是算法中经典的约瑟夫环的问题。我们知道,列表类型是一个线性的数据类型,从第一个元素遍历到最后一个元素则结束。而圆圈是没有终点的,以某一个元素为起点,绕一圈还会回到这个元素。
从图中我们可以看出,当到达最后一个元素后,再往后遍历回到第一个元