誠實國之謎 (2)

Posted by tjwei on 星期二, 6月 13, 2000 with No comments
國王終於沒有打斷老先生的話,聽完了他的解答。這時,大廳內的其它應徵者,有的點頭稱是,有的則恨自己怎麼沒有早一步往不可能有解這方面想。

  國王說:「雖然說,朕還是不是很懂,但你的意思是,這個問題沒辦法解答?」

  老先生回答說:「草民正是此意。」

  國王怒道:「大膽!拖出去斬了。」

  老先生嚇了一跳:「聖上饒命啊,草民的證明並沒有錯誤啊,大王如果不信,可以召集國內長老,詳加驗證,還請聖上明察。」

  國王回答:「姑且不論你的證明是否正確,朕這次請你們來,是要解答這個難題的呢?,還是要請你來告訴朕,這個難題是不能解決的?是朕說錯,還是你聽錯?」

  老先生連忙求饒:「小人知錯,請大王從輕發落。」

  這時國王氣也消了一半:「姑且念你初犯,且為無心之過,那就發配邊疆好了」

  老先生就這樣被旁邊的侍衛逐出宮去了。

  不少應徵者見情勢不妙,打算趁著混亂偷偷跑走,國王也發現了這個現象,相當生氣,覺得不受尊重,立刻命令侍衛關上大廳的門,並且把那些 準備偷跑的人一一就地正法了。然後宣布,如果沒有人能解出難題,他們一個也別想活著回去。應徵者都嚇了一跳,真沒想到這個國王原來是這樣脾氣暴躁的人。

  目前剩下的五位倖存應徵者,心裡盤算著,來這裡這麼久了,連公主都沒見到,而且還有生命危險。國王脾氣這樣暴躁,他的女兒該不會也和他一樣吧?而且依照剛才那個老先生的說法,這個題目可能根本無解,那他們豈不是無法活著走出去了。

  ㄅ國的王子剛好也在那五個人之中,他起身對國王說:「國王大人,立刻讓我回國,你要是不放了我,我父王會帶我國的二十五萬大軍來把你們消滅的。」

  國王的回答也很簡單,立刻叫侍衛把他拖下去斬了。

  國王說了:「我失去耐心了,在給你們一個時辰的時間,如果沒有人回答的出來,就全部斬了。」

  所謂急中生智,國王才剛說完沒多久,ㄆ國王子就宣布說有了解答。國王請ㄆ國王子說明他的解法。

  ㄆ國王子說:「很簡單,三個人我都問同一個問題,圓週率的小數點下九十八位是不是六?」

  國王說:「不可以,誰會那麼無聊,去背那麼長的圓週率?你不可以問他們也不知道的問題。」

  ㄆ王子笑了笑說:「我這個辦法的關鍵就在於沒有人會無聊去背圓週率,但我這裡提供了一小段計算圓週率的程式碼:

int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;) f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a) ,e=d%a)for(b=c;d+=f[b]*a, f[b]=d%--g,d/=g--,--b;d*=b);}

  請國王提供他們一部貴國最先進的電腦來計算,半個時辰之後,答案就能出來了。由於隨便答的那個人,並不需要依賴電腦出現的答案就能作答,所以他一定會最先回答,誠實或說謊的人,則必須等到電腦出現答案之後才能作答,如此一來,問題就迎刃而解。」

  國王冷笑了一下:「是嗎?那你就試試看你的方法行得通還是行不通。」

  ㄆ王子:「沒有問題。」

  國王於是就把三個問題人物及ㄆ王子帶入偏殿,讓他作答。

  半個時辰之後,國王,ㄆ王子從偏殿走了出來,只見ㄆ王子眼神呆滯,口中喃喃自語的,不知道在說些什麼,臉上絲毫不見任何欣喜的神情。仔細一聽,ㄆ王子只是不斷的再重複:「怎麼可能,怎麼可能有人真的會無聊到去背圓週率到小數點下一百位。」

  經過又一段時間的靜默,另外的一個應徵者ㄇ,提出了他的辦法了,他對國王說:「國王大人,我要能問他們的每個人一個他們只能回答「是」或「否」問題,然後要能分辨他他們身份,就算解答難題了,是不是?」

  國王說:「沒有錯。」

  ㄇ繼續說:「前面的老先生已經證明了,讓他們只回答一個「是」或「否」是不足以判斷他們的身份的。所以,我們其實只要能再多問一個問 題,就很容易能確定他們,但國王的規定並不允許。但是,國王您的規定有一個明顯的漏洞,您的問題只是說他們只能回答「是」或「否」,但並沒有規定他們只能 回答一個「是」或者一個「否」,所以,我可以巧妙的安排問題,讓他們回答很多「是」,很多「否」,這樣,就和問很多問題一樣了,比方說,我可以問他們: 『如果太陽是從東方出來的請你們先回答一個「是」否則請先回答一個「否」,如果第一個人是誠實的人,請再回答一個「是」,否則請再回答一個「否」,如果第 一個人是說謊的人,請再回答一個「是」,否則請再回答一個「否」…」國王打斷了他的話:「先停停,真是亂來,你不要在繼續讓費大家的時間了,你犯了很大的 錯誤,首先呢,我規定他們只能回答「是」或「否」,並不是規定他麼可以回答,「是」或「否」或「是,是」或「是,否」或「否,否」這類由「是」或「否」所 組成的有限數列,所以,規定並沒有漏洞,這是第一點。」

  國王繼續說:「第二點,回答很多「是」或「否」,和問很多只能回答「是」或「否」的問題並不一樣,由於你問的只算一個問題,說謊的 人,只要在一連串的「是」、「否」中,有一個騙你,就算說謊。但是呢,如果是分開來問,則必須每一個答案都與事實不同,才能算是說謊。這一點,就好像有五 個選項,沒有部分給分的多重選擇題,和五題是非題的差異是一樣的。再來了,最後一點,你的問題太長了,回答的人要花很多時間才能聽懂題目,你不要忘了,等 他們聽懂題目,說不定早就超過時限了,不要忘了,你們剩的時間不多了,現在止剩下一個時辰多一點而已了,等你的頭被砍了,他們才回答,你也沒有辦法做出判 斷了。」

  國王換了口氣繼續說:「我最討厭有人浪費我的時間了,所以,來人啊,立刻把他拖出去砍了。」

  就這樣,應徵者又少了一個。ㄈ和ㄉ當然沒有因為競爭者變少而高興。不過呢,競爭者變少對他們不見得有利,但是答案的可能性變少了,卻有利於他們思考(或者放棄答題的希望)。

  時間就這樣一分一秒的過去了,就在剩下最後的十五分鐘的時候,ㄈ高興的大喊:「我知道了!」

  究竟ㄈ的解答是什麼?真的正確嗎?還是會步上其它答題者的後塵?且待下回分解。

Categories: ,