来看看这道爱因斯坦出的智商测试题:他说世界上有98%的人回答不出, 看看你是否属于另外的2%:
有5栋5种颜色的房子,每一位房子的主人国籍都不同。这5个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物。没有人有相同的宠物,抽相同牌子的香烟,喝相同的饮料。
已知:
1.英国人住在红房子里
2.瑞典人养了一条狗
3.丹麦人喝茶
4.绿房子在白房子左边
5.绿房子主人喝咖啡
6.抽PALL MALL烟的人养了一只鸟
7.黄房子主人抽DUNHILL烟
8.住在中间那间房子的人喝牛奶
9.挪威人住在第一间房子
10.抽混合烟的人住在养猫人的旁边
11.养马人住在DUNHILL烟的人旁边
12.抽BLUE MASTER烟的人喝啤酒
13.德国人抽PRINCE烟
14.挪威人住在蓝房子旁边
15.抽混合烟的人的邻居喝矿泉水
问题是: 谁养鱼?
看看你是不是在那2%里?
我没仔细想,就想写个程序来解决,但发现不好建立数据模型,所以就写了个模型工具来模拟。
自己慢慢的推理吧。
小做了一个修改:最后结果:
德国人养鱼,在第四间的绿色房子里,喝Coffee,抽PRINCE
思考顺序:
9.挪威人住在第一间房子
14.挪威人住在蓝房子旁边
8.住在中间那间房子的人喝牛奶
4.绿房子在白房子左边
1.英国人住在红房子里
7.黄房子主人抽DUNHILL烟
11.养马人住在DUNHILL烟的人旁边
4.绿房子在白房子左边
1.英国人住在红房子里
5.绿房子主人喝咖啡
15.抽混合烟的人的邻居喝矿泉水
3.丹麦人喝茶
12.抽BLUE MASTER烟的人喝啤酒
13.德国人抽PRINCE烟
6.抽PALL MALL烟的人养了一只鸟
2.瑞典人养了一条狗
10.抽混合烟的人住在养猫人的旁边