1. 程式人生 > >約瑟夫及相似問題的解法

約瑟夫及相似問題的解法

  1. 約瑟夫問題的產生是據說著名猶太曆史學家josephus有過以下的故事:羅馬人佔領僑塔帕特後,39個 猶太人與josephus和他的朋友躲到一個洞中,39個猶太人決定先後自殺從而不用被敵人抓到,決定了一個自殺方法,所有人圍成一個圈,由第一個人開始報數,每報數到第三個該人就必須自殺,隨後從此人後面一位重新開始報數,josephus和他的朋友並不像遵從,於是josephus和他的朋友先假裝遵從,隨後站在了第16個和31的位置上,免去了性命之憂。這就是著名的約瑟夫問題。
  2. 現如今很多關於這種背景的思維題,比如報數出列,出列後從下一位繼續報數,直到剩餘兩位成為誘餌,其他人為獵手等的軍事遊戲,還是猴子爭王的背景題...在這些題目的背後都是這樣一種執行規則:

    約瑟夫問題的解決

  3. 首先這種問題的背景都是,由總數為N的單位圍成一個圈,以q為一個小單位不斷迴圈,第q個除去,隨後繼續迴圈,直到最後剩餘(q-1)個單位停止。
  4. 首先以最原始的約瑟夫問題來看:(41個人輪番自殺)