乙個教授邏輯學的教授,有三個非常聰明的學生,怎麼猜數字的?

時間 2021-05-06 03:08:30

1樓:

能不能和知不知道,真的是兩回事。聞道有先後,術業有專攻啊。猜謎有意思就有意思在,這人說話,話裡有話,第三人說出的答案,也就是出題人想要表達的東西:

邏輯這個東西就是各說各話,有趣就好。

2樓:李慶年

這道題的隱藏資訊:

-0不是正整數。很隱晦的資訊。

這道題,也是分輪次分析:

第一輪:`三個人都回答不能`

根據三個人都回答的不能,說明了沒有重複數字,因為如果存在重複陣列,比如A:5,B:5,那麼由於紙上寫的正整數,是大於0的,所以C就能明確知道自己的數字。

第二輪:`三個人都回答不能`

現在沒有兩個相同的數字了,三個人仍然回答不能,這次回答能夠排除掉某乙個數是另乙個數的兩倍大,比如A:5,B:10,C知道現在沒有兩個相同的數字,那麼C不可能是5,C只能是15。

第三輪:`AB都說不能,C回答144`

現在,我們能得到的資訊是自己拿到的數字要麼是其餘兩數的和,要麼是其餘兩數的差,而C能回答自己的數字,必然是排除了一種情況。

什麼情況才能說明C排除了一種情況了,也就是C在第二輪得到了資訊:沒有乙個數字是另乙個數的兩倍大。說明了C的乙個情況裡(和或者差),自己的數是某乙個人的數的兩倍大。

假設C的推測錯誤數字是A的兩倍大:

- 假設推測的錯誤數字是兩個數的和,A+B=2A,而C正確的數字是通過A-B=144得來的。得到C=0矛盾。

- 假設推測的錯誤數字是兩個數的差,B-A=2A(不可能是A-B=2A,因為沒有負數),而C的正確數字則是通過A+B=144得來的。得到A=36,B=72。

3樓:

我就想知道這題不用任何(高等一點的)數學概念(主要因為為了逃避生物化學我大學選擇了文科,所以沒讀過數學),純邏輯推算是怎麼做的?我只能確定3個數必不相等以及AB數的大致範圍,上面很多回答中的比例值是怎麼來的?假如題目裡的144改成337又會如何?

4樓:

想來想去還是以程式的方式給出這個問題的解答吧。

計算機程式設計的好處就是,只要你邏輯正確,讓計算機給你窮舉,一定能夠做到不重不漏。

//// 初始條件:

// 1. 所有人的數字均為正整數

// 2. 每個人額頭上的數字為其他兩人數字之和或之差

//// 遊戲竅門:

// 由於任何乙個猜測者都掌握以下兩條非常重要的資訊:

// 1. 其他兩人額頭上的數字

// 2. 之前所有猜測者都沒有猜出他們額頭上的數字

//// 所以,猜測者能夠猜出他額頭上的數字的充分必要條件是:

// A(其他兩人額頭上的數字相等)或者B(在「資訊替換」的情況下,之前的其它猜測者能夠猜出他額頭上的數字)。

//// 所謂「資訊替換」指的就是假定該猜測者額頭上的數字為:A(兩數之和)或者B(兩數之差的絕對值)。如果在這種情況下,之前的其它猜測者能夠猜出他額頭上的數字,那麼該猜測者可以立即斷定他額頭上的數字是A、B中的另乙個數。

//// 6個guess函式中的後5個,每乙個都是建立在之前所有猜測均未猜出的前提下編寫的。

//# include

# include

int guess1_1(int x, int y, int z)

int guess1_2(int x, int y, int z)

int guess1_3(int x, int y, int z)

int guess2_1(int x, int y, int z)

int guess2_2(int x, int y, int z)

int guess2_3(int x, int y, int z)

int main()

以下是程式執行結果(已省略空行):

三個學生猜數字問題共有5組解,它們分別是:

學生1 學生2 學生3

第1組解: 32 112 144

第2組解: 36 108 144

第3組解: 54 90 144

第4組解: 64 80 144

第5組解: 108 36 144

Program ended with exit code: 0

此問題雖然比較抽象,但只要把握住猜測者能夠猜出他額頭上的數字的充分必要條件,便不難尋找遞迴規律。

5樓:葉哲

佛系答題

-代表輪次

-110/-112/

352/--358

132/--134

-101/-121

-123

583/--5813

143/--145

341/--347

-011/--211

231/--235

最終得出358/314/134/213

6樓:知汙

個人筆記

高票聽的雲裡霧裡,是因為有的邏輯沒理清,

整體是這樣的,通過兩個條件

1 前面幾次沒人知道答案最後一人知道

這個用來遞推關係的

可以分解為6個條件,方便操作

前n-1個人沒猜出來,但是第n人猜出來了

2。 0不是正整數

這個相當於數列的初值,隱藏的很好

前兩個是簡單計算數列初值,用的遞推思想,

因為求的第6個值,通過前面5次的一點點模擬遞推,這樣降維操作降低思考量,

第三個用前兩個鋪路的遞推而來,

這裡有個問題,為什麼用兩個人鋪路,為什麼不是三個人?1個人?

三個人很好解決,

a1表示第一輪a,

如果三個人遞推第四次,那麼就是說a1的假設條件是如果a1能猜到數字,但a2的假設條件是

a1猜不到數字a2能猜到,

這裡的問題是不存在這樣的b.c組合,捨去。

為什麼不是乙個人遞推呢?

如果每個都按前乙個推下乙個,邏輯上沒問題,

但是b1的1.2.1個2.1.3沒有包括在c1裡面,

c1好像都是b1發展過來的,

但是不代表c1包括b1的所有分支。

這算是集合的屬於概念吧,但有人運氣好,也能避開,此外還有乙個隱藏條件,

如果a沒猜出來c猜出來了,b一定沒有猜出來。

猜出來就代表他一定是滿足最特殊的關係式,沒有之一。

而是這種關係式是遺傳下來的,老祖宗是兩個一樣第三個不是0,基因就是前面人沒猜出來當前人猜出來。

這個邏輯,也算是數列,有斐波納切的影子。

新版的編輯,不友好…….

7樓:拜土神教工作室

我就想知道,第三個學生第二輪回答其實是懵的吧,首先確認了沒有乙個是相同的,那我相加好了。然後矇對了,教授欣慰的笑了笑。

然而,為啥不能是1,143啊…為啥一定是約數啥的啊,是我漏掉看題了麼。

我更想知道第三個學生是怎麼想的,他怎麼知道教授一定出的是跟約數有關的啊。

求大神解惑,心疼一下學渣吧。學渣唯一的樂趣就是看各位大神在知乎上的神發揮 @曾加

8樓:思慈

(36,108,144)這一組答案中的數是怎麼想出來的?正常想法,是從1開始想啊,為什麼這裡答案就直接出來36了?後面就變成推論為什麼是36。

1就直接省去了。依然看不懂,求解。

9樓:林宇鵬

@曾加的答案非常好,淺顯易懂。

先說所有的結論吧。

1.這遊戲永遠是數字最大的那個人猜出來。無論邏輯學教授給的初始3個數字是什麼,最後肯定都會在某一輪被人猜出來,而且必然是數字比較大的那個學生猜出來。

2.任意給定3個初始數字(這3個數字按照先後順序排列)。那麼我可以利用輾轉相除法的方法得到是第k輪的第t個學生先猜出來,也就是第幾次被學生猜出來,電腦程式的時間複雜度就是輾轉相除法的複雜度,姑且算是log(m)吧,暫時沒想到更好的方法。

3.還有就是,所有可能被猜出來的可能情形種數(有公共約數的先化為互質情形),基本就是斐波拉契數列。

10樓:吳弘雨

三個學生知道的結果無非兩種 (公理)

1.看到的另外兩個數相等自己只能是兩個數之和。因為都是正整數不可能為零。

2.看到的數或別人假設自己頭上的數和共同看到的數是相等的關係但是提出假設的那個人回答不知道。(這句話很拗口但是是關鍵,通過這個無窮遞推假設!)

假設A 頭上是a B是b C頭上是c 假設abc除一以外沒有公約數。

3. a*b*c不等於0

推論 1 一定是頭頂另外兩數之和的人先知道答案。

證明假設c=a+b a先知道答案

則 c=b (公理1) 或c=2b and a不等於b (公理2)

c=b 推出 a=0 矛盾

2b=a+b b=a 矛盾

得證一定是頭頂最大的先知道。

c知道的訊號來之最近 a b 中頭頂數最大的人說不知道。然後推斷出c的來自假設

c=|a-b|被證偽即 c=a+b。 a b 同理。

(x)為假設x第i次開口說話說知道的三個數的組合個數。比如a第一次說知道的組合為(2,1,1) 個數為1 b第一次說為(1,2,1)或(2,3,1) 個數為2 c第一次的個數為 4個

故 (x)為可能存在狀態數, 每一種狀態都都來自前面兩個人的每種狀態的否命題! 即自己不是兩者的差而是和。

推論2故 (c)=(a)+(bi>1 i 是自然數

(a)=(c)+(b)

(b)=(a)+(c)

最後帶入計算就可以了。

解釋下別人假設自己頭上的數和共同看到的數怎麼理解。 比如(1,4,5)

c知道自己頭上不是3就是5 假設自己是3 b看到的就是3

那麼這個組合就變成了(1,4,3)同時c假設b自己假設自己頭上是2,這樣就變成了(1,2,3)

這時c再假設b假設c認為自己是1 陣列就變成了(1,2,1)。通過b第一次不知道否定了 (1,2,1)

c的第一次不知道否定了(1,2,3)。b的第二次不知道否定了(1,4,3)。最後只能是(1,4,5)

每個人都從別人頭上的兩個數和之差不斷地假設調整陣列,去掉三個陣列中最大的加上剩下兩個數的差值,不斷如此直到陣列變為(1,1,2) 。經過若干次假設到最簡單的陣列形式。然後通過每個人說不知道傳遞資訊,否定最內層的假設到外一層。

直到有人說知道為止。因為每個人都知道自己數的取值範圍!

11樓:姓甚名誰

乙個教授邏輯學的教授,有三個學生,而且三個學生均非常聰明!

一天教授給他們出了乙個題,教授在每個人腦門上貼了一張紙條並告訴他們,每個人的紙條上都寫了乙個正整數,且某兩個數的和等於第三個!(每個人可以看見另兩個數,但看不見自己的)

教授問第乙個學生:你能猜出自己的數嗎?回答:不能問第二個,不能

第三個,144

教授,你是怎麼猜出來的?

第三個,我猜的。

教授很滿意的笑了。

有乙個年紀輕輕就評上了副教授的老師有什麼特殊體驗?

我導師應該挺年輕吧!他除了上課,帶研究生,還是學科負責人會刻意跟學生保持距離,比較嚴肅 嚴厲 開會一般都是幾個學生一起,然後秘書處開著門開會。是一些領域的專家,phonologie,phon tique,prosodie.Acquisition psycho linguistique.對工作充滿熱情...

北師大的趙崢教授是乙個怎樣的人?

admin 過時的人。中國老一輩教授基本都是過時的人,人可能不錯,但是受限於他們那個年代的知識水平,上限不會太高。當前的物理界急需新的基礎理論來奠基,西方肯定不行了,只能落在中國的當代青年。老一輩隔代壓制,希望他們趕緊下課,退居閒人吧。 邃淺 學校讓選通識課,選了趙崢老師的 從愛因斯坦到霍金的宇宙 ...

有三個蘋果你吃乙個送乙個扔乙個請問以上三次行為哪些是事實行為哪些是法律行為?

你要先謝郭嘉 1.按照經典的普遍接受的薩維尼的定義,法律行為,是指行為人創設其意欲的法律關係而從事的意思表示行為。2.在這種理論下,乙個行為是不是法律行為,關鍵是看行為人的意思表示是否與其想要設立 變更 終止法律關係是一致的,如果不一致,則屬於事實行為,一致,則屬於法律行為。比如無因管理,我修葺你的...