約瑟夫的死亡游戲,也稱為約瑟夫斯置換,是計算機編程的算法中常遇到的一個問題,又被稱為“約瑟夫環”。
約瑟夫的故事是這樣的:中古時期,羅馬人占領了喬塔帕特,有四十一個猶太抵抗者躲進山洞。這些猶太人決定殺身成仁,舍身取義,大伙兒七嘴八舌地商量了一會兒,定了一個自殺方式。41個人圍成圈,從第1個人開始報數,每報數到第3人,那個人就必須自殺。然后再由下一個重新從1報數,直到所有人都自殺身亡為止。
這個死亡游戲,有點脫褲子放屁的意思。真想死,大家一起自殺就完了。所以,游戲參與者的心態,要么是擔心有人怕死不自殺,所以想讓大家見證和監督每一次死亡;要么是心存僥幸,如果其他人都死了,自己幸運地留到了最后,就能逃過一死,大大方方去投降了。
事實上,隊伍里確實有兩個怕死的懦夫——歷史學家約瑟夫和他的朋友,死亡游戲正是約瑟夫提議的。
約瑟夫是一位被歷史耽誤的數學天才,他很快推算出排在圈中的第16與第31個位置的人,將留到最后,于是他和朋友占據了這兩個位置。等同伴們都死光了,他和朋友一起向羅馬人投誠。他恭維羅馬指揮官會成為皇帝,由此獲得了羅馬公民的身份。后來又以傳譯官的身份參與了羅馬進攻耶路撒冷的戰爭,成為一名可恥的帶路黨。
無論約瑟夫人品如何,約瑟夫問題被引入了計算機編程,經常作為一道練習題出現在各種計算機編程語言教材當中。約瑟夫問題并不難,求解的方法也很多。
駱有成認為,如果繞開“莫比烏斯環”游戲的方法真的是用“約瑟夫環”的思路,那么證明“舅爺爺”并不想為難自己這個繼承人。只要想象力豐富一點,且恰巧聽過約瑟夫的故事,就能找到順利通關的辦法。
駱有成說三十一號坑應該能證實他的想法。之所以選擇三十一,而不是十六號坑,是因為41-3約瑟夫環留到最后的是31,16是倒數第二。
柳瑩卻提出了不同看法,假如他們最開始的選擇不是一號坑,而是三十一號坑或者十六號坑,那就直接通關了,這樣未免太兒戲,太反智。駱有成覺得柳妹說得也有道理,自從柳妹進了他的身子,人好像都稍稍聰明了一些。
事實也的確如此,在離開返真實境游戲后,駱有成曾就約瑟夫環的問題向阿慶求證過。
阿慶告訴他,如果把約瑟夫死亡游戲中的41人看作N,報數3看作M,N和M可以是任意整數。
在游戲設定中,N是定數,就是41,但M是隨著闖關失敗次數變化的。駱有成兩人有三次失敗經歷,所以M恰好是3,與古老的故事中報數吻合。如果失敗的次數是其他數值,結果肯定不會是31。比如失敗4次,最后出環的數是11;失敗5次,駱有成則該去跳22號坑。
這是后話,還是回到游戲場景。
驗證的結果與駱有成想象的完全一致,三十一號坑沒坑他,這里的場景是一間書房。蘇遠慶的影像坐在書桌后,向他的繼承人講了一段話。大意是推開書房的后門,通關一個很輕松的小游戲,就能找到一個小彩蛋。
柳瑩不可思議地問:“開玩笑吧?這么簡單?”
駱有成傲驕地挺起酥胸,“也不簡單,如果不是我恰好由‘環’想到‘約瑟夫環’,我們現在還在苦逼地跳坑。”
柳瑩想了想,點點頭,順嘴送上奉承:“有成哥最聰明。”
駱有成本想和“舅爺爺”多交流幾句,
(本章未完,請翻頁)
卻發現他翻來覆去就幾句話。他面前的只是很單純的一個影像,而不是智能。換句話說,是傳說中的NPC。沒有任務目標,沒有任何暗示或提示。