围圈报数
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)