跳轉到內容

謎題/邏輯謎題/10頂帽子/解答

來自Wikibooks,開放世界中的開放書籍

謎題 | 邏輯謎題 | 10頂帽子 | 解答


第10個學生如果看到偶數個白帽子則說“白色”,如果看到奇數個白帽子則說“紅色”(她將是唯一一個可能出錯的人)。第9個學生現在看到她前面的8頂帽子。假設其中X頂是白色的。現在有四種可能性

  • 第10個學生說“白色”且X為偶數:她戴著紅帽子
  • 第10個學生說“白色”且X為奇數:她戴著白帽子
  • 第10個學生說“紅色”且X為偶數:她戴著白帽子
  • 第10個學生說“紅色”且X為奇數:她戴著紅帽子

第9個學生可以算出哪種情況發生,並說出她帽子正確的顏色。從那時起,學生們必須從總數中減去猜對的帽子,並再次應用奇偶推理(使用第10個學生所說的話,並計算他們前面白帽子的數量)。

透過轉換,此解法有一個細微的變體:學生們不是戴紅白帽子,而是戴著標有0或1的帽子。令x1,...,x10為學生帽子上的數字。令a1,...,a10為學生的答案。學生們按與第一個解法相同的降序回答。答案被遞迴定義為

  • a10 = (x1+...+x9) mod 2
  • a9 = (x1+...+x8+a10) mod 2
  • a8 = (x1+...+x7+a9+a10) mod 2
  • ...

這些等式可以簡潔地描述如下:每個學生將他們看到的數字和他們聽到的數字加起來。如果總和為奇數,學生說一,否則說零。為了證明ai === xi mod 2,令si = x1+...+xi並使用歸納法。

基本情況:a9 === x9 mod 2

證明

  • s8 + x9 === a10 mod 2
  • x9 === a10 + s8 mod 2
  • x9 === a9 mod 2

歸納步驟:假設ai === xi mod 2對於i = n+1,..., 9成立,那麼

  • an === s(n-1) + a(n+1) +... + a10 mod 2(根據定義)
  • an === s(n-1) + (s9 - sn) + a10 mod 2(根據歸納假設)
  • an === xn + s9 + a10 mod 2
  • an === xn mod 2(因為s9 + a10是偶數)

因此ai === xi mod 2對於i = n, n+1,..., 9成立

因此ai === xi mod 2對於i = 1,...,9成立,並且最多隻有一個答案(a10)是錯誤的。

第10個學生將看到9頂帽子,只有1或2種顏色。其中一種顏色必須顯示奇數個。如果第10個學生只說出哪種顏色顯示奇數個,那麼最初的設定可能會更容易讓學生理解。其餘的學生將透過與解答1中相同的邏輯推理得出正確答案。

華夏公益教科書