約瑟夫環(huán)問題的數(shù)學(xué)解

下午和朋友聊天的時(shí)候牺丙,有朋友提到了約瑟夫環(huán)問題则涯。你和另外 n-1 個(gè)人圍成一個(gè)圈,按 1,2粟判,...肖揣,n 依次編號(hào)。第一個(gè)人從 1 開始報(bào)數(shù)浮入,數(shù)到 k 的人會(huì)被殺掉龙优,然后下一個(gè)人重新從 1 開始報(bào)數(shù)。如此往復(fù)事秀,直到最后只剩下一個(gè)人彤断。問題是,你應(yīng)該如何選擇自己的初始位置易迹,才能保證最后不被殺掉呢宰衙?

速度越快的算法當(dāng)然越好,畢竟這是一個(gè)生死攸關(guān)的問題睹欲。下面你將會(huì)看到供炼,我們?nèi)绾瓮ㄟ^一些基本的數(shù)學(xué)推導(dǎo)最終得到這個(gè)問題的遞推解。

初步思考

考慮這樣一種相對(duì)簡(jiǎn)單的情況:總共有 5 個(gè)人窘疮,數(shù)到 3 的人被殺掉袋哼。那么,死亡過程如下圖所示:

總共5人闸衫,數(shù)到3被殺

經(jīng)過一番模擬之后涛贯,我們已經(jīng)對(duì)約瑟夫環(huán)問題有了一個(gè)大概的直觀理解。下面蔚出,嘗試使用數(shù)學(xué)語言來描述這個(gè)問題弟翘。

哦對(duì)了,假如圓圈里只有你自己骄酗,那么你肯定就是最后的幸存者稀余,這是一個(gè)極其有用的特殊情況。

建立模型

這些是我們的已知條件

  • 總共有 n 個(gè)人趋翻;
  • 數(shù)到 k 的人將被殺死睛琳。

這個(gè)是我們的未知數(shù)

  • 位置 p,處在位置 p 上的人將會(huì)幸存下來嘿歌。

推導(dǎo)求解

現(xiàn)在考慮一種泛化情形:總共有 n 個(gè)人掸掏,數(shù)到 k 的人被殺掉茁影,其中 n >= k宙帝。幸存者的位置為 pn

顯而易見募闲,初始位置為 k 的人將會(huì)第一個(gè)被殺掉步脓。此時(shí),經(jīng)過重新排序之后,問題變成了 n-1 個(gè)人的情形靴患。幸存者的位置為 pn-1 仍侥。如果能夠找到從 pn-1 到 pn 的遞推關(guān)系,那么問題就解決了鸳君。

殺死第一個(gè)人之后农渊,變成 n-1 個(gè)人的情況

重新排序之后,每個(gè)人的位置發(fā)生了下面這些變化:

  • 1 -> n-k+1
  • 2 -> n-k+2
  • ...
  • k-1 -> n-1
  • k 被殺死
  • k+1 -> 1
  • ...
  • pn -> pn-1
  • ...
  • n-1 -> n-k+1
  • n -> n-k

很容易我們能得到這樣一個(gè)關(guān)系式:pn = (pn-1 + k) % n 或颊。再加上剛才討論的特例砸紊,只有一個(gè)人的情況時(shí),p1 = 1 囱挑。遞推式就已經(jīng)很明顯了醉顽。

當(dāng)然上文只討論了 n>=k 的情形,實(shí)際上對(duì)于 n<k 的情形平挑,剛才所得到的遞推式依然適用游添,我們就不展開討論了。

編碼實(shí)現(xiàn)

既然遞推式這么簡(jiǎn)潔明確通熄,那么編碼實(shí)現(xiàn)就不用寫了吧唆涝?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市唇辨,隨后出現(xiàn)的幾起案子石抡,更是在濱河造成了極大的恐慌,老刑警劉巖助泽,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啰扛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡嗡贺,警方通過查閱死者的電腦和手機(jī)隐解,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诫睬,“玉大人煞茫,你說我怎么就攤上這事∩惴玻” “怎么了续徽?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)亲澡。 經(jīng)常有香客問我钦扭,道長(zhǎng),這世上最難降的妖魔是什么床绪? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任客情,我火速辦了婚禮其弊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘膀斋。我一直安慰自己梭伐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布仰担。 她就那樣靜靜地躺著糊识,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摔蓝。 梳的紋絲不亂的頭發(fā)上技掏,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音项鬼,去河邊找鬼哑梳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛绘盟,可吹牛的內(nèi)容都是我干的鸠真。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼龄毡,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼吠卷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起沦零,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤祭隔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后路操,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疾渴,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年屯仗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搞坝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡魁袜,死狀恐怖桩撮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情峰弹,我是刑警寧澤店量,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站鞠呈,受9級(jí)特大地震影響融师,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粟按,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一诬滩、第九天 我趴在偏房一處隱蔽的房頂上張望霹粥。 院中可真熱鬧灭将,春花似錦疼鸟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捌朴,卻和暖如春吴攒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背砂蔽。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工洼怔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人左驾。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓镣隶,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親诡右。 傳聞我的和親對(duì)象是個(gè)殘疾皇子安岂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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

  • 一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)使用 weka 中的常用分類器论悴,完成數(shù)據(jù)分類任務(wù)粱哼。 二铅忿、實(shí)驗(yàn)內(nèi)容 了解 weka 中 explo...
    yigoh閱讀 8,464評(píng)論 5 4
  • 本次內(nèi)容是:復(fù)合表達(dá)式的求值。尤其是 優(yōu)先級(jí) 和 結(jié)合性 部分可以作為字典查看次员。 1、優(yōu)先級(jí) 在表達(dá)式求解過程中王带,...
    LuuilX閱讀 1,460評(píng)論 0 0
  • 陽春三月翠肘,天地俱生,萬物以榮辫秧,大地一片生機(jī)束倍,人們也在經(jīng)過一個(gè)冬天的蟄伏后開始活動(dòng)頻繁。春分前后盟戏,慢性疾病患者最易復(fù)...
    法祝閱讀 851評(píng)論 0 1
  • 在上一篇文章中绪妹,Jason老師提到名詞從句在句子中可以做主語、賓語和補(bǔ)語柿究。 今天邮旷,Jason老師繼續(xù)帶大家了解名詞...
    JasonEnglish閱讀 561評(píng)論 0 0
  • 長(zhǎng)壽是人們永遠(yuǎn)都關(guān)心的話題民镜。但在通往長(zhǎng)壽的路上,有很多攔路虎险毁,比如高血壓制圈、心臟病,這些疾病常常令人猝不及防畔况。 我們...
    美妙的養(yǎng)生閱讀 265評(píng)論 0 1