在准备一份数理逻辑的材料时,我创作了下面 10 个逻辑推理问题。在每个问题中,甲、乙、丙三人各说了一句话,你需要判断出每个人说的究竟是真话还是假话。每个问题都有唯一解。注意,与传统的逻辑推理题目不同,没有任何条件告诉你究竟有多少人在说真话,有多少人在说假话。解决问题时尽量避免用枚举法试遍所有 8 种可能,否则这将失去“逻辑推理”的意义。
(1)甲:乙说的是假话
乙:丙说的是假话
丙:甲要么说的是真话,要么说的是假话
答案:显然,丙说的是真话。
因此,乙说的是假话。
因此,甲说的是真话。
(2)甲:我们三个人当中有人说真话
乙:我们三个人当中有人说假话
丙:我们三个人当中没有人说假话
答案:乙和丙说的互相矛盾,他俩的话一真一假。
这就表明,三个人当中既有人说真话,又有人说假话。
因此,甲和乙都说的真话,丙说的是假话。
(3)甲:我们三个人都说的真话
乙:我们三个人都说的假话
丙:我们三个人当中,有些人在说真话,有些人在说假话
答案:这三句话互相矛盾,却又涵盖了所有情况。
因此,三句话中有且仅有一句话为真。
因此,甲、乙说的是假话,丙说的是真话。
(4)甲:丙说的真话
乙:丙说的假话
丙:你们俩一个说的真话,一个说的假话
答案:甲和乙说的互相矛盾,他俩的话一真一假。
因此,丙说的是真话。
因此,甲说的是真话,乙说的是假话。
(5)甲:乙说的是真话
乙:甲说的是真话
丙:我们都说的是假话
答案:显然,丙不可能说的真话。
因此,丙说的是假话。
因此,不是所有人说的都是假话。
因此,甲和乙当中至少有一个人说的是真话。
不管甲和乙谁说了真话,都可推出甲和乙都在说真话。
(6)甲:我们当中有一个人说假话
乙:我们当中有两个人说假话
丙:我们当中有三个人说假话
答案:显然,不可能所有人都在说假话,否则丙就说的真话。
显然,不可能有两个或两个以上的人在说真话,因为这三句话是互相矛盾的。
因此,恰好有一个人说的是真话。
因此,恰好有两个人说的是假话。
因此,乙说的是真话,甲和丙说的是假话。
(7)甲:我说的是真话。
乙:我说的是真话。
丙:如果我说的是真话,那么甲和乙都说的是真话。
答案:如果丙说的是假话,那么“如果我说的是真话,那么……”永远为真,矛盾。
因此,丙说的是一定是真话。
因此,甲和乙说的都是真话。
(8)甲:如果乙说的是真话,那么丙说的是真话。
乙:如果丙说的是真话,那么甲说的是真话。
丙:我们说的都是假话。
答案:不可能所有人都说的假话,否则甲和乙说的就是真话,矛盾。
因此,丙说的是假话。
因此,乙说的是真话。
因此,甲说的是假话。
(9)甲:如果丙说的是假话,那么我说的是假话
乙:如果丙说的是假话,那么我说的是假话
丙:如果我说的是假话,那么我说的是假话
答案:如果丙说的是假话,那么“如果我说的是假话,那么我说的是假话”就为真,矛盾。
因此,丙说的是真话。
因此,甲和乙说的都是真话。
(10)甲:我们三个人要么都说的真话,要么都说的假话
乙:我们三个人要么都说的真话,要么都说的假话
丙:我们三个人要么都说的真话,要么都说的假话
答案:显然他们说的都是真话。