围圈报数

2021-01-05  本文已影响0人  XH_hector

题目

N个人围圈进行1,2,3报数,数到3的退出,其余人继续,最后剩余的是原来队伍中的第几个。

n = 32     #32个人围圈报数
if n == 1:
    bList = [1]
else:
    aList = [i for i in range(1,n+1)] #生成1个1~N的序列组成的列表
    num = 0
    while True:
        for i in range(len(aList)):
            if (i+num+1) % 3 == 0:
                aList[i] = 0
        if aList[-1] == 0:
            num = 0
        elif aList[-2] == 0:
            num = 1
        else:
            num = 2
        bList = [i for i in aList  if i !=0]    
        aList = bList 
        if len(bList) == 1:
            break
print(bList)
上一篇 下一篇

猜你喜欢

热点阅读