【春節特輯】誰是最後的贏家

吉利伴你回家 人工智能 遊戲 五分鐘學算法 2019-02-07

問題

圓桌上有 1 到 1000 個玩家,每個玩家都有一個紅包,當玩家失去紅包時則離開遊戲,其中 1 號右手邊是 2 號,左手邊是 1000 號。

遊戲開始,1 號玩家搶走 2 號玩家全部的紅包,2 號玩家離開了遊戲,此時搶奪權交給了 3 號,3號玩家搶走 4 號玩家全部的紅包,4 號玩家離開了遊戲,此時搶奪權交給了 5 號。。。999 號搶走 1000 號全部的紅包,然後搶奪權交給了 1 號,繼續循環。最後留下來的是幾號?

解法一:人工智能法

【春節特輯】誰是最後的贏家

人工智能法

解法二:邏輯推理

假設有 1024 個玩家,從 1 號起輪流開始遊戲,則最終 1 號必然留下。

在第一輪,第 47 號開搶紅包後,桌上僅剩 1000 人。從第 49 號開始重新編號為 1~1000 ,繼續遊戲。

那麼從現在的 1 號(原先的 49 號開始執行任務)。這樣 1000 人的遊戲就變成了 1024 人遊戲的一個子過程,最終留下來的人是原 1 號,現在的 977 號(原 1024 號現在是 1024 - 49 + 1 = 976 ,所以原 1 號現在是 977 號)。

有獎紅包問題

原問題是有 1000 個玩家,最終是 977 號玩家獲得了這所有的紅包。

改編一下問題,如果是 2019 個玩家,那麼最終誰是最後的贏家,可以獲得這所有的紅包?

【春節特輯】誰是最後的贏家

支付寶口令紅包

我用馬賽克遮擋了口令的數字,只需要將答案數字填入進去即可獲取紅包。

紅包數量有限,先到先得:)

掏空小吳

【春節特輯】誰是最後的贏家

/ 今日問題 /

新的一年第一天,你搶了多少紅包?

相關推薦

推薦中...