通过形成环,将根据密钥逐个踢出队伍,如何最终将自己留下,那这个密钥是多少呢?
#函数体是约瑟夫环
def huan(n,k):
List = list(range(1,n+1))
index = 0
while List:
temp = List.pop(0)
index += 1
if index == k:
index = 0
continue
List.append(temp)
if len(List)==1:
# print(List)
# print(List[0])
return List[0]
break
if __name__ == '__main__':
num = 59 #人数
me = 54 #你的编号
for i in range(1,59):
if huan(num,i) == me:
print(i)