爱因斯坦谁养鱼的问题

      前段时间看书,看到一个很有意思的问题。就是爱因斯坦谁养鱼的问题。看问题就感觉是一团乱毛线,没有头绪。需要一根根的找线头,将其解开。其实这个过程很像我们平时编程找BUG一样,开始很痛苦,后来慢慢享受,最后在问题得以解决的时候,一种成就感油然而生。下面就是我对于这个问题的解法,哪位朋友要是有更便利的方法,欢迎交流:

      问题概述:

一条街上,五座房子,五种颜色 
二,每座房子住着不同国家的人 
三,每个人喝不同的饮料,抽不同的香烟,养不同的宠物 
四,问题:谁养鱼? 

提示: 
1、英国人住红房子 ;
2、瑞典人养狗 ;
3、丹麦人喝茶 ;
4、绿房子紧挨着白房子,在白房子左边 ;
5、抽“长红”香烟的人养鸟; 
6、绿房子主人喝咖啡;
7、黄房子主人抽“登喜牌”香烟; 
8、住中间房子的人喝牛奶; 
9、挪威人住第一座房子(最左侧); 
10、抽BLENDS香烟的人住养猫人隔壁; 
11、养马人住抽“登喜牌”香烟人隔壁; 
12、抽BLUEMASTER香烟的人喝啤酒 
13、德国人抽PRINCE牌香烟 
14、挪威人住蓝房子隔壁 
15、抽BLENDS香烟的人有一个喝水的邻居。

 

 

解决方案(个人想法):

通过条件可得信息如下:

爱因斯坦谁养鱼的问题

1、因为蓝色位于第二间,所以绿白房间只能位于右边3、4或4、5.又由于3为牛奶,绿对于的为咖啡所以信息确认为:

爱因斯坦谁养鱼的问题

2、因为英国人住红房间,确定黄房间对于挪威:

爱因斯坦谁养鱼的问题

3、酒会有两种情况:

爱因斯坦谁养鱼的问题

考虑到水的旁边是BLENDS烟,所以第一种可能矛盾。所以结果为:

爱因斯坦谁养鱼的问题

4、考虑德国人对应PRINCE烟,长红烟对应鸟所以结果为:

爱因斯坦谁养鱼的问题

5、考虑到抽BLENDS烟附近为猫,结果为:

爱因斯坦谁养鱼的问题

 

6、因为瑞典养狗,所以结果为:

爱因斯坦谁养鱼的问题

7、所以结果为:

爱因斯坦谁养鱼的问题

8、所以德国人养鱼。