卑鄙約瑟夫 II


Submit solution

分數: 100 (partial)
時間限制: 1.0s
記憶體限制: 1G

作者:
題目類型
允許的語言
Assembly, Brainfuck, C, C++, Python

傳說著名猶太歷史、數學家約瑟夫 (Titus Flavius Josephus) 和他的 40 個同袍被羅馬軍隊包圍在洞中。他們討論要自殺或被俘,最終決定自殺。然而私下約瑟夫與某個傢伙並不贊成,於是約瑟夫提出自殺方式:41 個人給他一個圓啊給他一個圓,由第一個人開始報數,每報數到三的人就必須自殺,然後由下一個重新報數。約瑟夫與不想自殺的那個人分別排在第 30 號與第 15 號位置,於是逃過了這場死亡遊戲。
卑鄙約瑟夫~~
這次的情況不一樣了,他們後來決定抽籤決定哪一個人開始報數,而模式也不太一樣:第一個報數的人會先自殺,之後才開始算。
重點是這次他所要面對的人數更多!
現在給你 \(n\), \(k\), \(m\) 代表有 \(n\) 個人圍成一圈,每 \(k\) 個人要自殺,由第 \(m\) 個人開始報數,請問最終倖存者的編號是多少??

編號由 1 開始!!

輸入格式

有多筆輸入,每行有三個數字\(n\), \(k\), \(m\),當三個數字皆為 \(0\) 時輸入結束。
\( 1 \leq n, k, m < 1000000 \)
\(m \leq n\)

輸出格式

輸出最後倖存者的編號。

範例輸入

5 3 2
100 9999 98
10000 10000 10000
99999 1 99999
0 0 0

範例輸出

3
93
2019
99998

評論

目前沒有評論。