Josephus问题:
设有n个人围坐在一个圆桌周围,现从第s个人开始报数,数到第m的人出列,然后从出列的下一个重新开始报数,数到第m的人又出列……如此反复,直到所有的人全部出列为止。Josephus问题是:对于任意给定的n,s和m,求出按出列次序得到的n个人员的序列。
现以n=8,s=1,m=4为例,问题的求解过程如图2.10所示。图中 指向开始报数位置,带圆圈的是本次应该出列的人员。若初始的顺序为n1,n2,n3,n4,n5,n6,n7,n8,则问题的解为n4,n8,n5,n2,n1,n3,n7,n6。
1