小编chy*_*nog的帖子

关于Josephus_problem

我正在努力解决约瑟夫斯问题,我有工作代码.

def J(n,x):
    li=range(1,n+1)
    k = -1
    while li:
        print li
        k = (k+x) % len(li)
        li.pop(k)
        k =k- 1
J(10, 3)
Run Code Online (Sandbox Code Playgroud)

现在我想重写它以获得如下结果:

1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1
1 1 0 1 1 0 1 1 1 1
1 1 0 1 1 0 1 1 0 1
1 0 0 1 1 0 1 1 0 1
1 0 0 1 1 …
Run Code Online (Sandbox Code Playgroud)

python algorithm list josephus

4
推荐指数
1
解决办法
305
查看次数

当我附加到Python中的列表时出现奇怪的行为

我正在寻找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)
Run Code Online (Sandbox Code Playgroud)

预期产出:

[1, 2, 4, 5]

[2, 4, 5]

[2, 4]

[4]
Run Code Online (Sandbox Code Playgroud)

实际产量:

[[4], [4], [4], [4]]
Run Code Online (Sandbox Code Playgroud)

python list append

3
推荐指数
1
解决办法
156
查看次数


标签 统计

list ×3

python ×3

algorithm ×1

append ×1

function ×1

iterator ×1

josephus ×1