Josephus_problemを探していますが、結果は私の期待ではありません。なんで?
def J(n,x):
li=range(1,n+1)
k=0
res=[]
while len(li)>1:
k= (x+k-1) % len(li)
li.pop(k)
res.append(li)
#print li
return res
print J(5,3)
期待される出力:
[1, 2, 4, 5]
[2, 4, 5]
[2, 4]
[4]
実際の出力:
[[4], [4], [4], [4]]