约瑟夫环问题
背景:故事源自著名犹太历史学家Josephus,在罗马人占领乔塔帕特后,39个犹太人与Josephus以及他的朋友躲进了一个山洞中,39个犹太人决定宁死不屈,于是决定了一个自杀方式,41个人排成一个圈,由第一个人开始报数,每数到3此人就自杀,然后由下一个重新报数,直到所有人都自杀为止。然而Josephus和他的朋友并不想这就死去,于是Josephus让他的朋友和他佯装遵从,他偷偷将朋友和自己安排在第16个和31个位置,最终逃过了这场死亡游戏。
python代码
lista=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] #定义20个人编号 while(lista): #循环直到没有人 t=lista.pop(0) #报数为1的站到队尾 lista.append(t) s=lista.pop(0) #第二个人也站到队尾 lista.append(s) print(lista.pop(0)) #干掉报数为3的,并输出