Java教程

我知道你不知道,我到底知不知道?

本文主要是介绍我知道你不知道,我到底知不知道?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

请点赞关注,你的支持对我意义重大。


1. 题目描述

A 与 B 好奇问 C 的年龄,爱卖关子的 C 给出了以下 11 个数字,C 的年龄就是其中的一个:KaTeX parse error: Expected 'EOF', got '、' at position 3: 35、̲36、38、42、45、46、…,并且分别把年龄的十位数告诉给 A,把个位数告诉给 B。此时,A 和 B 发生以下对话:

A:我不知道 C 的年龄,我知道你不知道。

B:原本我不知道的,现在我知道了。

A:现在我也知道了。
那么,请问 C 的年龄是?


2. 解题关键

  • 1、我知道你不知道的含义: 这句话的含义是:根据我的现有信息,可以知道你未取得命题的充分条件。更通俗的说法是,我不知道你现在是什么情况,反正一定不是那个可以推断出结果的状态;

  • 2、“唯一性” 隐含的充分条件: 有 36、46、57 这三个数,假设已知目标数的个位数是 7 ,那么很明显这个数就是 57 了(因为只有唯一个数字个位是 7)。


3. 题解

  • 首先我们观察 11 个数字: KaTeX parse error: Expected 'EOF', got '、' at position 4: (35、̲36、38、42、45、46、…

十位数有 3、4、5、6 这几种可能,都会匹配不唯一个数字。

个位数有 1、2、5、6、7、8 这几种可能,其中 1、2、5、6 会匹配不唯一个数字,而 7、8 会分别匹配 57、38 两个数字。

  • A:我不知道 C 的年龄,我知道你不知道。

首先,A 说 “不知道 C 的年龄”,说明十位数是不唯一的。由于 十位数 3、4、5、6 都对应多个数,目前无法排除任何数字;

随后 A 又说 “我知道你不知道”,in other words,“根据我的现有信息,可以知道你未取得命题的充分条件”,in other words,“我知道你手上的个位数一定不是 7 或 8 ”。

为什么 A 敢断言:“你手上的个位数一定不是 7 和 8” 呢?一定是 A 手中的十位数不是 3,也不是 5 的时候。只有这样才能确定最终答案不是 3_ 或 5_ ,也就不可能是 38、57 两个数字。

  • 此时,观察剩下以下数字: KaTeX parse error: Expected 'EOF', got '、' at position 4: (42、̲45、46、61、62)

个位数有 1、2、5、6 这几种可能,其中 个位数 2 会匹配多个数字,而 个位数 1、5、6 会分别匹配 61、45、46 三个数字。

  • B:原本我不知道的,现在我知道了。

此时,B 说 “我知道了”,说明达到唯一性充分条件,那么年龄个位数一定不是 2

  • 此时,观察剩下以下数字: KaTeX parse error: Expected 'EOF', got '、' at position 4: (61、̲45、46)

十位数有 4_ 和6_ 这两种可能,其中 十位数 4 会匹配 2 个数字,而 十位数 6 会唯一匹配 61 这个数字。

  • A:现在我也知道了。

此时,A 说 “我也知道了”,说明达到唯一性充分条件,那么年龄是 61。

这篇关于我知道你不知道,我到底知不知道?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!