约瑟夫环问题的python代码

# 有100我的按编号顺序(一、二、...100)逆时针方向围成一圈。从1号开始按逆时针方向1-9报数,凡报数9者出列,#求出列顺序app

# coding=utf-8spa

list = []
for i in range(1, 101):    #以1至100给每一个人编号
    list.append(i)
i=0    #i为每次循环时的变量
k=0   #k为1~9报数时的计数变量
m=0   #m为出列人数
while (m<99):      #当退出人数等于99时结束循环
    if list[i] != 0:
        k += 1
    if k == 9:
        print list[i], 
        list[i]=0      #对出列的人标号为0
        k = 0
        m += 1
    i += 1
    if i==100: i = 0   #到第一百我的时继续下一轮循环
相关文章
相关标签/搜索