python解决约瑟夫环问题,python约瑟夫环,100人围成一圈,1-9


100人围成一圈,1-9开始报数,凡报数9者出列,求出列顺序

[Python]代码

# coding=utf-8# filename count.py# 有100个人按编号顺序(1、2、...100)逆时针方向围成一圈。从1号开始按逆时针方向1-9报数,凡报数9者出列,求出列顺序key = 0position = 0cycle = 0p = list()for i in range(100):    p.append(1)while cycle in range(len(p)):    while key < 9:        if p[position] == 0:            if position == 99:                position = 0            else:                position += 1        elif p[position] == 1:            if key != 8:                if position == 99:                    position = 0                else:                    position += 1                key += 1            elif key == 8:                p[position] = 0                print position                if position == 99:                    position = 0                else:                    position += 1                key += 1    else:        cycle += 1        key = 0

评论关闭