一道邏輯推理題 猜生日

2021-09-05 19:55:19 字數 699 閱讀 5969

小明和小強都是張老師的學生,張老師的生日是m月n日,2人都知道張老師的生日是下列10組中的一天,張老師把m值告訴了小明,把n值告訴了小強,張老師問他們知道他的生日是哪一天?

3月4日 3月5日 3月8日

6月4日 6月7日

9月1日 9月5日

12月1日 12月2日 12月8日

小明說:如果我不知道的話,小強肯定也不知道

小強說:本來我也不知道,但是現在我知道了

小明說:哦,那我也知道了

請根據以上對話推斷出張老師的生日是哪一天?

我的解析:

"小明說:如果我不知道的話,小強肯定也不知道" <<-->>

對於m 所在的月的所有n值, 均不能唯一的確定生日.

根據12月2日如果知道2,可以唯一確定生日->m != 12,

同理6月7日知道7可以唯一確定生日->m != 6; 所以m = 3或 9.

"小強說:本來我也不知道,但是現在我知道了" <<-->>

在m = 3或9的前提下, n可以唯一確定生日.

從而推出:  n =1 或 4 或 8

"小明說:哦,那我也知道了 " <<-->>

在m = 3或9, n=1或4或8的前提下,m 可以唯一確定生日.

從而推出: m = 9,因為如果m=3的話, 小明還是不能確定生日,因為n有可能為4或8.

所以答案是: 9月1日.

解答微軟的一道邏輯推理題

以下是微軟有名的一道邏輯推理題,網上有不少人給出了答案,但是推理過程都有些問題,在這裡我給出我的推理過程 教授選出兩個從2到9的數,把它們的和告訴學生甲,把它們的積告訴學生乙,讓他們輪流猜這兩個數 甲說 我猜不出 乙說 我猜不出 甲說 我猜到了 乙說 我也猜到了 問這兩個數是多少 我的解答 設甲聽到...

一道邏輯推理題的C 實現

題目為 周遊的騎士 來自一本邏輯推理書。實現如下 核心思想是用mytry遞迴函式來實現,check ok函式測試線索是否成立。include include define empty 1 using namespace std int b 4 5 enum name enum month enum ...

使用程式解決一道邏輯推理題

小明和小強都是張老師的學生,張老師的生日是m月n日,2人都知道張老師的生日是下列10組中的一天 3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 張老師將m值告訴了小明,將n值告訴了小強,張老師問他們知道他的生日是哪一天嗎?小明說 如果我不知道...