【算法競賽入門經典】6.1.1 卡片遊戲

卡片遊戲:

  • 桌上有一疊拍,從第一張牌(位於頂面的牌)開始從上往下依次編號爲1~n。當至少還剩兩張牌時進行以下操作:把第一張牌扔掉,然後把新的第一張放到整疊牌

  • 的最後。輸入n,輸出每次扔掉的牌,以及最後剩下的牌

# input 獲得的是字符串,需要轉換爲int類型
n = int(input("please input a number:"))

#  range 參數不包括最後一個,所以需要+1
queue = [i for i in range(1, n+1)]

while True:
    head = queue.pop(0)
    print(head)
    second = queue.pop(0)
    queue.append(second)
    

    if len(queue) == 1:
        break

這題考量的是隊列的先進先出,MARK

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章