我正在寻找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]]