问题描述:
有n个人围成一圈,从1开始按顺序编号,从第一个人开始从1到k(假设k=3)报数,报到k的人退出圈子,然后圈子缩小,从下一个人继续游戏,问最后留下的是原来的第几号。
之前曾经推送过一个使用Python标准库itertools中的cycle对象和列表切片模拟该问题的代码,请参考Python版本的报数游戏。本文再提供一个使用列表方法模拟该问题的代码,该版本代码空间占用小,但运行时间略长。
参考代码: