卑鄙約瑟夫
傳說著名猶太歷史、數學家約瑟夫 (Titus Flavius Josephus) 和他的 40 個同袍被羅馬軍隊包圍在洞中。他們討論要自殺或被俘,最終決定自殺。然而私下約瑟夫與某個傢伙並不贊成,於是約瑟夫提出自殺方式:41 個人給他一個圓啊給他一個圓,由第零個人開始報數,每報數到三的人就必須自殺,然後由下一個重新報數。約瑟夫與不想自殺的那個人分別排在第 30 號與第 15 號位置,於是逃過了這場死亡遊戲。
卑鄙約瑟夫~~ 現在給你 \(n, k\) 代表有 \(n\) 個人圍成一圈,每 \(k\) 個人要自殺,請問最終倖存者的編號是多少??
編號由 0 開始!!
輸入格式
兩個整數 \(n: 1 < n < 100000, k: 1 \leq k < 1000\) 代表有 \(n\) 個人圍成一圈,每 \(k\) 個人要自殺。
輸出格式
一個整數,為倖存者之編號。
範例輸入
41 3
範例輸出
30
提示
本題是個入門的約瑟夫問題,\(n\) 並不大,單純用佇列模擬即可。至於遞迴公式解法,敬請期待!!
留言