C#单向循环列表 解决 约瑟夫问题

来源:互联网 发布:云计算的资源类型 编辑:程序博客网 时间:2024/05/19 14:16

背景故事:

     约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。

类似的问题:

     一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。

程序代码如下:

运行结果:
 

原创粉丝点击