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

背景故事:

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

类似的问题:

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

程序代码如下:

运行结果:
 

posted @ 2009-09-29 16:13  清山博客  阅读(1175)  评论(0编辑  收藏  举报