爲俄羅斯輪盤賭遊戲建模,其中參賽者站在一個圓圈內。 - 每個第7名選手都輸了,直到2人還活着。從列表中刪除每個第n個元素,直到兩個元素保留在python3中
contestants = list(range(1, 51))
dead_men = []
dead_man = 6
while len(contestants) > 2:
if dead_man > len(contestants):
dead_man = dead_man - len(contestants)
loser = contestants.pop(dead_man)
dead_men.append(loser)
dead_man += 6
這給了我一個指數誤差的9索引的時候我的名單長度爲8
凡定義的士兵?你是指選手嗎? –
您可能會考慮閱讀有關[約瑟夫問題](https://en.wikipedia.org/wiki/Josephus_problem),直到只有一個人離開 - 使用相同的規則。 – elias