約瑟夫環問題的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   #到第一百我的時繼續下一輪循環
相關文章
相關標籤/搜索