帽子颜色问题

2019-12-01 22:33:53

1 2 下一页 这是我最早听说的趣味逻辑题之一,是很小的时候父亲告诉我的:
  
  “有3顶黑帽子,2顶白帽子。让三个人从前到后站成一排,给他们每个人头上戴一顶帽子。每个人都看不见自己戴的帽子的颜色,却只能看见站在前面那些人的帽子颜色。(所以最后一个人可以看见前面两个人头上帽子的颜色,中间那个人看得见前面那个人的帽子颜色但看不见在他后面那个人的帽子颜色,而最前面那个人谁的帽子都看不见。现在从最后那个人开始,问他是不是知道自己戴的帽子颜色,如果他回答说不知道,就继续问他前面那个人。事实上他们三个戴的都是黑帽子,那么最前面那个人一定会知道自己戴的是黑帽子。为什么?”
  
  答案是,最前面的那个人听见后面两个人都说了“不知道”,他假设自己戴的是白帽子,于是中间那个人就看见他戴的白帽子。那么中间那个人会作如下推理:“假设我戴了白帽子,那么最后那个人就会看见前面两顶白帽子,但总共只有两顶白帽子,他就应该明白他自
  
  己戴的是黑帽子,现在他说不知道,就说明我戴了白帽子这个假定是错的,所以我戴了黑帽子。”问题是中间那人也说不知道,所以最前面那个人知道自己戴白帽子的假定是错的,所以他推断出自己戴了黑帽子。
  
  我们把这个问题推广成如下的形式:
  
  “有若干种颜色的帽子,每种若干顶。假设有若干个人从前到后站成一排,给他们每个人头上戴一顶帽子。每个人都看不见自己戴的帽子的颜色,而且每个人都看得见在他前面所有人头上帽子的颜色,却看不见在他后面任何人头上帽子的颜色。现在从最后那个人开始,问他是不是知道自己戴的帽子颜色,如果他回答说不知道,就继续问他前面那个人。一直往前问,那么一定有一个人知道自己所戴的帽子颜色。”
  
  当然要假设一些条件:
  
  1)首先,帽子的总数一定要大于人数,否则帽子都不够戴。
  
  2)“有若干种颜色的帽子,每种若干顶,有若干人”这个信息是队列中所有人都事先知道的,而且所有人都知道所有人都知道此事,所有人都知道所有人都知道所有人都知道此事,等等等等。但在这个条件中的“若干”不一定非要具体一一给出数字来。这个信息具体地可以是象上面经典的形式,列举出每种颜色帽子的数目
  
  “有3顶黑帽子,2顶白帽子,3个人”,
  
  也可以是
  
  “有红黄绿三种颜色的帽子各1顶2顶3顶,但具体不知道哪种颜色是几顶,有6个人”,
  
  甚至连具体人数也可以不知道,
  
  “有不知多少人排成一排,有黑白两种帽子,每种帽子的数目都比人数少1”,
  
  这时候那个排在最后的人并不知道自己排在最后──直到开始问他时发现在他回答前没有别人被问到,他才知道他在最后。在这个帖子接下去的部分当我出题的时候我将只写出“有若干种颜色的帽子,每种若干顶,有若干人”这个预设条件,因为这部分确定了,题目也就确定了。
  
  3)剩下的没有戴在大家头上的帽子当然都被藏起来了,队伍里的人谁都不知道都剩下些什么帽子。
  
  4)所有人都不是色盲,不但不是,而且只要两种颜色不同,他们就能分别出来。当然他们的视力也很好,能看到前方任意远的地方。他们极其聪明,逻辑推理是极好的。总而言之,只要理论上根据逻辑推导得出来,他们就一定推导得出来。相反地如果他们推不出自己头上帽子的颜色,任何人都不会试图去猜或者作弊偷看──不知为不知。
  
  5)后面的人不能和前面的人说悄悄话或者打暗号。
  
  当然,不是所有的预设条件都能给出一个合理的题目。比如有99顶黑帽子,99顶白帽子,2个人,无论怎么戴,都不可能有人知道自己头上帽子的颜色。另外,只要不是只有一种颜色的帽子,在只由一个人组成的队伍里,这个人也是不可能说出自己帽子的颜色的。
  
  但是下面这几题是合理的题目:
  
  1)3顶红帽子,4顶黑帽子,5顶白帽子,10个人。
  
  2)3顶红帽子,4顶黑帽子,5顶白帽子,8个人。
  
  3)n顶黑帽子,n-1顶白帽子,n个人(n>0)。
  
  4)1顶颜色1的帽子,2顶颜色2的帽子,……,99顶颜色99的帽子,100顶颜色100的帽子,共5000个人。
  
  5)有红黄绿三种颜色的帽子各1顶2顶3顶,但具体不知道哪种颜色是几顶,有6个人。
  
  6)有不知多少人(至少两人)排成一排,有黑白两种帽子,每种帽子的数目都比人数少1。
  
  大家可以先不看我下面的分析,试着做做这几题。
1 2 下一页