趣味算法(一)Josephus问题
Josephus问题求解:
?? ?设有n个人围坐一个圆桌周围,,现从第S人开始报数,数到第m的人出列,
?? ?然后从出列的下一个重新开始报数,数列的第m个人又出列……如此重复,直
?? ?到所有的人全部出列为止。对任意给定的n、s、m,求按出列次序得到的n个
?? ?人员的顺序表。
?
分析:对于n个人,每一次出列一个人,余下的n-1个人仍然是一个Josephus问题,因此可以使用递归的方式,每次出列一个人,直到余下最后一个人。
?
nodes is deleted,pos:7nodes is deleted,pos:4nodes is deleted,pos:2nodes is deleted,pos:1nodes is deleted,pos:3nodes is deleted,pos:6nodes is deleted,pos:10nodes is deleted,pos:5nodes is deleted,pos:8the left is 9?