@ 2020.03.14 , 13:00

腦力小體操:上期答案與π日加餐

上一期的腦力小體操,抽象出來就是如下的題設

0.當前的目標是找出所有經理。
1.工程師的人數遠大于經理。
2.工程師不會騙人,經理的話不可信。
3.你要在至多99個問題內,100%地確認出一個工程師。為什么?因為只要確認了一個工程師,讓他挨個揪出經理就行了!

稍微解釋一下,經理的話不可信并不意味著經理就一定說假話。

他們足夠精明,又對彼此毫無忠誠可言,為了保全自己混淆視聽,會在必要的時候說真話。

所以官方的標準答案是醬紫的

把所有人依照某個順序拍成一組,比如說編號1、2、3、……、100;將這一組記為初始組。

然后從中隨意抽出一人,比如說1號,詢問他2號是不是工程師。

如果他說不是,將1號和2號統統拋入一個組,就命名為回收組吧。道理是這樣的,這一回答實際上意味著1和2必然有一個不是工程師,所以我們索性將他們兩同時放棄。如果能夠這樣一對對地拋入回收組,那最后剩下的必然是工程師。

如果他說是,就將1號歸入一個命名為堆棧的組,然后將2號也歸入堆棧!

然后向2號詢問類似的問題:3號是不是工程師。

最終,堆棧組里頂端的那位(也是那組里編號最大的)必然是工程師。

為什么呢?

不妨這樣思考,比如說最后一個是100號,如果他其實不是工程師,則堆棧組倒數第二位幫他作偽證的必然也不是工程師,然后依次類推,就得到了人數上的矛盾——堆棧組都是經理。

其實,有幾位朋友在回復里基本討論出了如何應用堆棧的思想——本來想把回復里幾位給出答案的朋友ID放出來,沒想到回復欄那么快就翻頁了,而我站回復欄翻頁之后,第一頁就不見了,淦

另外有幾位朋友,實際上想到了用投票認證的想法。本質上就是讓99個員工投票,看剩下那一位是不是工程師。多進行幾輪的話,肯定能確定一位工程師。實際上來說,這個思路沒啥問題,而且有點拜占庭將軍問題的意思。

但是具體到這個問題,它相當于說一次提出99個問題。如果湊巧第一次選出的是經理,則用光了所有的提問次數,又沒有確知一位工程師的身份。(雖然有個朋友通過“在紙面圈出所有的經理”這樣的提法,把它偽裝成了一個問題。)

不過,是我措辭不嚴謹(其實是故意的啦,就是向讓問題開放),而且多輪投票的思想也非常有價值,值得討論。

最后,本期的鍛煉大腦的體操是為3月14日準備的問題:周所眾知,π和e(自然常數)是無限不循環小數。有些人(如劉慈欣)相信,它們的小數部分包含所有的、由0-9組成的字段。

現在我問大家,是否能夠從π小數點之后某位開始,得到e全部的數字呢?

就是形如這樣3.14159……2718281828459……

好吧,上面這個問題或許難以作答,那我們將它視為一個假說吧。

以這個假說為前提,再提出一個容易回答的問題:如果確實能夠從π小數點之后某位開始,得到e全部的數字,那么,請回答是否可以從e的小數點某位開始,得到π的全部數字?

就是形如這樣2.718281828459……31415926……


支付寶打賞 [x]
您的大名: 打賞金額:

贊一個 (15)
猫先生 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>