約瑟夫環(huán)問(wèn)題

參考文章

約瑟夫環(huán)之二(用遞歸的思想解決Josephus問(wèn)題)

解釋

約瑟夫環(huán)是一個(gè)數(shù)學(xué)的應(yīng)用問(wèn)題:已知n個(gè)人(以編號(hào)1,2芦劣,3...n分別表示)圍坐在一張圓桌周圍迄汛。從編號(hào)為k的人開(kāi)始報(bào)數(shù)燃辖,數(shù)到m的那個(gè)人出列;他的下一個(gè)人又從1開(kāi)始報(bào)數(shù)剖踊,數(shù)到m的那個(gè)人又出列;依此規(guī)律重復(fù)下去,直到圓桌周圍的人全部出列以蕴。

解法

初始情況: 0, 1, 2 ......n-2, n-1 (共n個(gè)人)

第一個(gè)人,編號(hào)一定是(m-1)%n(或者寫(xiě)成m%n-1)出列之后,剩下的n-1個(gè)人組成了一個(gè)新的約瑟夫環(huán)(以編號(hào)為k==m%n的人開(kāi)始):

k k+1 k+2 ... n-2, n-1, 0, 1, 2, ...,k-3, k-2

現(xiàn)在我們把他們的編號(hào)做一下轉(zhuǎn)換:

x' --> x的情況

k --> 0
k+1 --> 1
k+2 --> 2
...
...
k-2 --> n-2

變換后就完完全全成為了(n-1)個(gè)人報(bào)數(shù)的子問(wèn)題辛孵,假如我們知道這個(gè)子問(wèn)題的解:例如x是最終的勝利者丛肮,那么根據(jù)上面這個(gè)表把這個(gè)x變回去不剛好就是n個(gè)人情況的解嗎!

x ->x'魄缚?(這正是從n-1時(shí)的結(jié)果反過(guò)來(lái)推n個(gè)人時(shí)的編號(hào)宝与!)
0 -> k
1 -> k+1
2 -> k+2
...
...
n-2 -> k-2

變回去的公式 x'=(x+k)%n   (注:k=m%n)

那么,如何知道(n-1)個(gè)人報(bào)數(shù)的問(wèn)題的解冶匹?只要知道(n-2)個(gè)人的解就行了习劫。(n-2)個(gè)人的解呢?只要知道(n-3)的情況就可以了 ---- 這顯然就是一個(gè)遞歸問(wèn)題:

令f[i]表示i個(gè)人玩游戲報(bào)m退出最后勝利者的編號(hào)徙硅,最后的結(jié)果就是f[n]

遞推公式

f[1]=0;

f[i]=(f[i-1]+k)%i = (f[i-1] +m%i) % i = (f[i-1] + m) % i ; (i>1)

代碼

#include <stdio.h>
int main() {
    int n, m, i, result;
    while (scanf("%d", &n) == 1) {
        if (!n) {
            break;
        }
        scanf("%d", &m);
        result = 0;
        for (i = 2; i <= n; i++) {
            result = (result + m) % i;
        }
        printf("%d\n", result + 1);
    }
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末榜聂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嗓蘑,更是在濱河造成了極大的恐慌须肆,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桩皿,死亡現(xiàn)場(chǎng)離奇詭異豌汇,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)泄隔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)拒贱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事逻澳≌⑻欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵斜做,是天一觀的道長(zhǎng)苞氮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)瓤逼,這世上最難降的妖魔是什么笼吟? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮霸旗,結(jié)果婚禮上贷帮,老公的妹妹穿的比我還像新娘。我一直安慰自己诱告,他們只是感情好撵枢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蔬啡,像睡著了一般诲侮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上箱蟆,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天沟绪,我揣著相機(jī)與錄音,去河邊找鬼空猜。 笑死绽慈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的辈毯。 我是一名探鬼主播坝疼,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼谆沃!你這毒婦竟也來(lái)了钝凶?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤唁影,失蹤者是張志新(化名)和其女友劉穎耕陷,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體据沈,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哟沫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锌介。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗜诀。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡猾警,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隆敢,到底是詐尸還是另有隱情发皿,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布拂蝎,位于F島的核電站雳窟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏匣屡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一拇涤、第九天 我趴在偏房一處隱蔽的房頂上張望捣作。 院中可真熱鬧,春花似錦鹅士、人聲如沸券躁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)也拜。三九已至,卻和暖如春趾痘,著一層夾襖步出監(jiān)牢的瞬間慢哈,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工永票, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卵贱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓侣集,卻偏偏與公主長(zhǎng)得像键俱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子世分,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)題描述:n個(gè)人(編號(hào)0~(n-1))编振,從0開(kāi)始報(bào)數(shù),報(bào)到(m-1)的退出臭埋,剩下的人繼續(xù)從0開(kāi)始報(bào)數(shù)踪央。求勝利者的編...
    xinggang閱讀 1,097評(píng)論 0 1
  • 好久沒(méi)有看有關(guān)算法的問(wèn)題了,今天廢了不少勁斋泄,再感嘆一句:要想學(xué)好算法就要常練習(xí)杯瞻,沒(méi)什么捷徑可走。廢話不多說(shuō)炫掐,如下:...
    時(shí)間已靜止閱讀 6,900評(píng)論 0 11
  • 百度百科: 約瑟夫環(huán)(約瑟夫問(wèn)題)是一個(gè)數(shù)學(xué)的應(yīng)用問(wèn)題:已知n個(gè)人(以編號(hào)1魁莉,2,3...n分別表示)圍坐在一張圓...
    KPort閱讀 3,820評(píng)論 0 4
  • 940萬(wàn)考生的戰(zhàn)爭(zhēng)結(jié)束了,管它多年以后誰(shuí)勝誰(shuí)負(fù)旗唁。當(dāng)下的生活還要繼續(xù)畦浓,等著大學(xué)錄取通知書(shū)成了幸福的期待,也有很多從此...
    白墨黑閱讀 217評(píng)論 0 3
  • A:作為領(lǐng)導(dǎo)層1要善于給下屬提問(wèn)(通過(guò)提問(wèn)來(lái)引導(dǎo)下屬思考以及做方案检疫,而不是不理不睬讶请,一棍子擋回去,同時(shí)也要預(yù)防猴子...
    我來(lái)學(xué)而時(shí)習(xí)之閱讀 116評(píng)論 0 0