【Python列表基礎】約瑟夫問題
阿新 • • 發佈:2018-12-19
比較簡單,沒啥好說的嚶嚶嚶~
# -*- coding: utf-8 -*- """ Created on Sun Nov 4 15:30:35 2018 @author: wyt """ #約瑟夫問題 #佇列移動sep單位 def move(man,sep): for i in range(sep): item = man.pop(0) #list.pop(i) 刪除index為i的元素並顯示 man.append(item) #list.append(x) 將元素x追加到列表尾部 def play(man=41,sep=3,rest=2): print("問題:一共有%d個人,每報數到%d的人就要自殺,最後剩餘%d個人活著。" %(man,sep,rest)) man = [i for i in range(1,man+1)] #初始化玩家佇列 print("玩家佇列:",man) sep -= 1 while len(man) > rest: move(man,sep) print("kill",man.pop(0)) return man servive = play() print("最後活著的人是:",servive)