爱因斯坦出了一道题,他说世界上有90%的人回答不出,看看你是否属于10%。

内容:
1. 有5栋5种颜色的房子
2. 每一位房子的主人国籍都不同
3. 这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物
4. 没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料
已知条件:
1. 英国人住在红房子里
2. 瑞典人养了一条狗
3. 丹麦人喝茶
4. 绿房子在白房子的左边
5. 绿房子主人喝咖啡
6. 抽PALL MALL 烟的人养了一只鸟
7. 黄房子主人抽DUNHILL烟
8. 住在中间房子的人喝牛奶
9. 挪威人住在第一间房子
10. 抽混合烟的人住在养猫人的旁边
11. 养马人住在抽DUNHILL烟人的旁边
12. 抽BLUE MASTER烟的人喝啤酒
13. 德国人抽PRINCE烟
14. 挪威人住在蓝房子旁边
15. 抽混合烟的人的邻居喝矿泉水
问题:谁养鱼?

呵呵,很典型的一个计算机推理题,有类似的程序,看看这个对你有启发,这个是一个钓鱼的推断程序:
/** 这道迷题出自1981年柏林的德国逻辑思考学院
* 原题为:
1.有5栋5种颜色的房子
2.每一位房子的主人国籍都不同
3.这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物
4.没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料
已知条件:
1.英国人住在红房子里
2.瑞典人养了一条狗
3.丹麦人喝茶
4.绿房子在白房子的左边
5.绿房子主人喝咖啡
6.抽pallmall烟的人养了一只鸟
7.黄房子主人抽dunhill烟
8.住在中间房子的人喝牛奶
9.挪威人住在第一间房子
10.抽混合烟的人住在养猫人的旁边
11.养马人住在抽dunhill烟人的旁边
12.抽bluemaster烟的人喝啤酒
13.德国人抽prince烟
14.挪威人住在蓝房子旁边
15.抽混合烟的人的邻居喝矿泉水
问题:谁养鱼?
据说世界上只有2%的人能出答案。
就连大名鼎鼎的爱因斯坦也成为此题大伤脑筋。
*/

/*
* @author cds
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class WhoFeedsFish {

public static final int NATIONALITY_ENGLISH = 1;

public static final int NATIONALITY_SWIDISH = 2;

public static final int NATIONALITY_DAMARK = 3;

public static final int NATIONALITY_NORWAY = 4;

public static final int NATIONALITY_GERMAN = 5;

private int[] nationalities = { 1, 2, 3, 4, 5 };

public static final int COLOR_RED = 1;

public static final int COLOR_GREEN = 2;

public static final int COLOR_YELLOW = 3;

public static final int COLOR_WHITE = 4;

public static final int COLOR_BLUE = 5;

private int[] colors = { 1, 2, 3, 4, 5 };

public static final int PET_DOG = 1;

public static final int PET_BIRD = 2;

public static final int PET_CAT = 3;

public static final int PET_HORSE = 4;

public static final int PET_FISH = 5;

private int[] pets = { 1, 2, 3, 4, 5 };

public static final int DRINK_TEA = 1;

public static final int DRINK_COFFEE = 2;

public static final int DRINK_MILK = 3;

public static final int DRINK_BEER = 4;

public static final int DRINK_WATER = 5;

private int[] drinks = { 1, 2, 3, 4, 5 };

public static final int TOBACCO_PALLMALL = 1;

public static final int TOBACCO_DUNHILL = 2;

public static final int TOBACCO_BLUEMASTER = 3;

public static final int TOBACCO_PRINCE = 4;

public static final int TOBACCO_MIXED = 5;

private int[] tobaccoes = { 1, 2, 3, 4, 5 };

private int[][] key = { nationalities, colors, pets, drinks, tobaccoes };

private int[][] values = { { 1, 2, 3, 4, 5 }, { 1, 2, 3, 5, 4 },
{ 1, 2, 4, 3, 5 }, { 1, 2, 4, 5, 3 }, { 1, 2, 5, 3, 4 },
{ 1, 2, 5, 4, 3 }, { 1, 3, 2, 4, 5 }, { 1, 3, 2, 5, 4 },
{ 1, 3, 4, 2, 5 }, { 1, 3, 4, 5, 2 }, { 1, 3, 5, 2, 4 },
{ 1, 3, 5, 4, 2 }, { 1, 4, 2, 3, 5 }, { 1, 4, 2, 5, 3 },
{ 1, 4, 3, 2, 5 }, { 1, 4, 3, 5, 2 }, { 1, 4, 5, 2, 3 },
{ 1, 4, 5, 3, 2 }, { 1, 5, 2, 3, 4 }, { 1, 5, 2, 4, 3 },
{ 1, 5, 3, 2, 4 }, { 1, 5, 3, 4, 2 }, { 1, 5, 4, 2, 3 },
{ 1, 5, 4, 3, 2 }, { 2, 1, 3, 4, 5 }, { 2, 1, 3, 5, 4 },
{ 2, 1, 4, 3, 5 }, { 2, 1, 4, 5, 3 }, { 2, 1, 5, 3, 4 },
{ 2, 1, 5, 4, 3 }, { 2, 3, 1, 4, 5 }, { 2, 3, 1, 5, 4 },
{ 2, 3, 4, 1, 5 }, { 2, 3, 4, 5, 1 }, { 2, 3, 5, 1, 4 },
{ 2, 3, 5, 4, 1 }, { 2, 4, 1, 3, 5 }, { 2, 4, 1, 5, 3 },
{ 2, 4, 3, 1, 5 }, { 2, 4, 3, 5, 1 }, { 2, 4, 5, 1, 3 },
{ 2, 4, 5, 3, 1 }, { 2, 5, 1, 3, 4 }, { 2, 5, 1, 4, 3 },
{ 2, 5, 3, 1, 4 }, { 2, 5, 3, 4, 1 }, { 2, 5, 4, 1, 3 },
{ 2, 5, 4, 3, 1 }, { 3, 1, 2, 4, 5 }, { 3, 1, 2, 5, 4 },
{ 3, 1, 4, 2, 5 }, { 3, 1, 4, 5, 2 }, { 3, 1, 5, 2, 4 },
{ 3, 1, 5, 4, 2 }, { 3, 2, 1, 4, 5 }, { 3, 2, 1, 5, 4 },
{ 3, 2, 4, 1, 5 }, { 3, 2, 4, 5, 1 }, { 3, 2, 5, 1, 4 },
{ 3, 2, 5, 4, 1 }, { 3, 4, 1, 2, 5 }, { 3, 4, 1, 5, 2 },
{ 3, 4, 2, 1, 5 }, { 3, 4, 2, 5, 1 }, { 3, 4, 5, 1, 2 },
{ 3, 4, 5, 2, 1 }, { 3, 5, 1, 2, 4 }, { 3, 5, 1, 4, 2 },
{ 3, 5, 2, 1, 4 }, { 3, 5, 2, 4, 1 }, { 3, 5, 4, 1, 2 },
{ 3, 5, 4, 2, 1 }, { 4, 1, 2, 3, 5 }, { 4, 1, 2, 5, 3 },
{ 4, 1, 3, 2, 5 }, { 4, 1, 3, 5, 2 }, { 4, 1, 5, 2, 3 },
{ 4, 1, 5, 3, 2 }, { 4, 2, 1, 3, 5 }, { 4, 2, 1, 5, 3 },
{ 4, 2, 3, 1, 5 }, { 4, 2, 3, 5, 1 }, { 4, 2, 5, 1, 3 },
{ 4, 2, 5, 3, 1 }, { 4, 3, 1, 2, 5 }, { 4, 3, 1, 5, 2 },
{ 4, 3, 2, 1, 5 }, { 4, 3, 2, 5, 1 }, { 4, 3, 5, 1, 2 },
{ 4, 3, 5, 2, 1 }, { 4, 5, 1, 2, 3 }, { 4, 5, 1, 3, 2 },
{ 4, 5, 2, 1, 3 }, { 4, 5, 2, 3, 1 }, { 4, 5, 3, 1, 2 },
{ 4, 5, 3, 2, 1 }, { 5, 1, 2, 3, 4 }, { 5, 1, 2, 4, 3 },
{ 5, 1, 3, 2, 4 }, { 5, 1, 3, 4, 2 }, { 5, 1, 4, 2, 3 },
{ 5, 1, 4, 3, 2 }, { 5, 2, 1, 3, 4 }, { 5, 2, 1, 4, 3 },
{ 5, 2, 3, 1, 4 }, { 5, 2, 3, 4, 1 }, { 5, 2, 4, 1, 3 },
{ 5, 2, 4, 3, 1 }, { 5, 3, 1, 2, 4 }, { 5, 3, 1, 4, 2 },
{ 5, 3, 2, 1, 4 }, { 5, 3, 2, 4, 1 }, { 5, 3, 4, 1, 2 },
{ 5, 3, 4, 2, 1 }, { 5, 4, 1, 2, 3 }, { 5, 4, 1, 3, 2 },
{ 5, 4, 2, 1, 3 }, { 5, 4, 2, 3, 1 }, { 5, 4, 3, 1, 2 },
{ 5, 4, 3, 2, 1 } };

public void printKey() {
for (int i = 0; i < 5; i++) {
print("nationality", key[0][i]);
}
System.out.println();
for (int i = 0; i < 5; i++) {
print("color", key[1][i]);
}
System.out.println();
for (int i = 0; i < 5; i++) {
print("pet", key[2][i]);
}
System.out.println();
for (int i = 0; i < 5; i++) {
print("drink", key[3][i]);
}
System.out.println();
for (int i = 0; i < 5; i++) {
print("tobacco", key[4][i]);
}
System.out.println();

}

public void print(String item, int index) {
if (false) {
} else if ("nationality".equals(item)) {
switch (index) {
case 1:
System.out.print("英国人\t\t");
break;
case 2:
System.out.print("瑞典人\t\t");
break;
case 3:
System.out.print("丹麦人\t\t");
break;
case 4:
System.out.print("挪威人\t\t");
break;
case 5:
System.out.print("德国人\t\t");
break;
}
} else if ("color".equals(item)) {
switch (index) {
case 1:
System.out.print("红房子\t\t");
break;
case 2:
System.out.print("绿房子\t\t");
break;
case 3:
System.out.print("黄房子\t\t");
break;
case 4:
System.out.print("白房子\t\t");
break;
case 5:
System.out.print("蓝房子\t\t");
break;
}
} else if ("pet".equals(item)) {
switch (index) {
case 1:
System.out.print("狗\t\t");
break;
case 2:
System.out.print("鸟\t\t");
break;
case 3:
System.out.print("猫\t\t");
break;
case 4:
System.out.print("马\t\t");
break;
case 5:
System.out.print("鱼\t\t");
break;
}
} else if ("drink".equals(item)) {
switch (index) {
case 1:
System.out.print("茶\t\t");
break;
case 2:
System.out.print("咖啡\t\t");
break;
case 3:
System.out.print("牛奶\t\t");
break;
case 4:
System.out.print("啤酒\t\t");
break;
case 5:
System.out.print("水\t\t");
break;
}
} else if ("tobacco".equals(item)) {
switch (index) {
case 1:
System.out.print("PALLMALL\t\t");
break;
case 2:
System.out.print("DUNHILL\t\t");
break;
case 3:
System.out.print("BLUEMASTER\t\t");
break;
case 4:
System.out.print("PRINCE\t\t");
break;
case 5:
System.out.print("混合烟\t\t");
break;
}
}

}

private boolean check01() {
boolean ret = true;
// 条件1:英国人住在红房子里 01
for (int i = 0; i < nationalities.length; i++) {
if (key[0][i] == NATIONALITY_ENGLISH) {
if (key[1][i] != COLOR_RED) {
ret = false;
}
break;
}
}
return ret;
}

private boolean check02() {
boolean ret = true;
// 条件2:瑞典人养了一条狗 02
for (int i = 0; i < nationalities.length; i++) {
if (key[0][i] == NATIONALITY_SWIDISH) {
if (key[2][i] != PET_DOG) {
ret = false;
}
break;
}
}
return ret;
}

private boolean check1() {
boolean ret = true;
// 条件4:绿房子在白房子的左边 1
for (int i = 0; i < colors.length; i++) {
if (key[1][i] == COLOR_GREEN) {
for (int j = 0; j < colors.length; j++) {
if (key[1][j] == COLOR_WHITE) {
if (i > j) {
ret = false;
}
break;
}
}
}
}
return ret;
}

private boolean check3() {
// 条件8:住在中间房子的人喝牛奶 3
return key[3][2] == DRINK_MILK ? true : false;
}

// 条件9:挪威人住在第一间房子 0
private boolean check0() {
if (key[0][0] != NATIONALITY_NORWAY) {
return false;
}
return true;
}

private boolean check011() {
// 14.挪威人住在蓝房子旁边 01
boolean ret = false;
for (int i = 0; i < nationalities.length; i++) {
if (key[0][i] == NATIONALITY_NORWAY) {
for (int j = 0; j < colors.length; j++) {
if (key[1][j] == COLOR_BLUE) {
if (Math.abs(i - j) == 1) {
return true;
} else {
return false;
}

}
}
}
}
return ret;
}

// /////////////////////////////////////////////////////////////////

private boolean check() {
boolean ret = true;

// 条件1:英国人住在红房子里 01
ret = check01();
if (ret == false)
return false;
// 条件2:瑞典人养了一条狗 02
ret = check02();
if (ret == false)
return false;
// 条件3:丹麦人喝茶 03
for (int i = 0; i < nationalities.length; i++) {
if (key[0][i] == NATIONALITY_DAMARK) {
if (key[3][i] != DRINK_TEA) {
return false;
} else {
break;
}
}
}

// 条件4:绿房子在白房子的左边 1
ret = check1();
if (ret == false)
return false;
// 条件5:绿房子主人喝咖啡 13
for (int i = 0; i < colors.length; i++) {
if (key[1][i] == COLOR_GREEN) {
if (key[3][i] != DRINK_COFFEE) {
return false;
} else {
break;
}
}
}

// 条件6:抽pallmall烟的人养了一只鸟 24
for (int i = 0; i < tobaccoes.length; i++) {
if (key[4][i] == TOBACCO_PALLMALL) {
if (key[2][i] != PET_BIRD) {
return false;
} else {
break;
}
}
}

// 条件7:黄房子主人抽dunhill烟 14
for (int i = 0; i < colors.length; i++) {
if (key[1][i] == COLOR_YELLOW) {
if (key[4][i] != TOBACCO_DUNHILL) {
return false;
} else {
break;
}
}
}

// 条件8:住在中间房子的人喝牛奶 3
ret = check3();
if (ret == false)
return false;
// 条件9:挪威人住在第一间房子 0
ret = check0();
if (ret == false)
return false;
// 条件10:抽混合烟的人住在养猫人的旁边 24
for (int i = 0; i < tobaccoes.length; i++) {
if (key[4][i] == TOBACCO_MIXED) {
for (int j = 0; j < pets.length; j++) {
if (key[2][j] == PET_CAT) {
if (i - j != 1 && i - j != -1) {
return false;
}
break;
}
}
}
}

// 条件11:养马人住在抽dunhill烟人的旁边 24
for (int i = 0; i < pets.length; i++) {
if (key[2][i] == PET_HORSE) {
for (int j = 0; j < tobaccoes.length; j++) {
if (key[4][j] == TOBACCO_DUNHILL) {
if (i - j != 1 && i - j != -1) {
return false;
}
break;
}
}
}
}

// 条件12:抽bluemaster烟的人喝啤酒 34
for (int i = 0; i < tobaccoes.length; i++) {
if (key[4][i] == TOBACCO_BLUEMASTER) {
if (key[3][i] != DRINK_BEER) {
return false;
} else {
break;
}
}
}

// 13.德国人抽prince烟 04
for (int i = 0; i < nationalities.length; i++) {
if (key[0][i] == NATIONALITY_GERMAN) {
if (key[4][i] != TOBACCO_PRINCE) {
return false;
} else {
break;
}
}
}

// 14.挪威人住在蓝房子旁边 01
ret = check011();
if (ret == false)
return false;
// 15.抽混合烟的人的邻居喝矿泉水 34
for (int i = 0; i < tobaccoes.length; i++) {
if (key[4][i] == TOBACCO_MIXED) {
for (int j = 0; j < drinks.length; j++) {
if (key[3][j] == DRINK_WATER) {
if ((i - j != 1) && (i - j != -1)) {
return false;
} else {
break;
}
}
}
}
}

return ret;
}

public void run() {
int count = 0;
for (int a = 0; a < 120; a++) {
for (int i = 0; i < 5; i++) {
key[0][i] = values[a][i];
}
if (!check0()) {
continue;
}

for (int b = 0; b < 120; b++) {
for (int i = 0; i < 5; i++) {
key[1][i] = values[b][i];
}
if (!check01() || !check011() || !check1()) {
continue;
}

for (int c = 0; c < 120; c++) {
for (int i = 0; i < 5; i++) {
key[2][i] = values[c][i];
}
if (!check02()) {
continue;
}

for (int d = 0; d < 120; d++) {
for (int i = 0; i < 5; i++) {
key[3][i] = values[d][i];
}
// if(!check()){continue;}

for (int e = 0; e < 120; e++) {
for (int i = 0; i < 5; i++) {
key[4][i] = values[e][i];
}
if (!check()) {
continue;
}
System.out.println("答案" + (++count));
printKey();
System.out
.println("-----------------------------------------------");

}

}

}

}
}
}

public static void main(String[] args) {
WhoFeedsFish wff = new WhoFeedsFish();
System.out.println("==========Start==========");
wff.run();
System.out.println("==========End==========");
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-15
哈..我的逻辑能力果然不错..让我来说说怎么想的吧.

5. 绿房子主人喝咖啡 8. 住在中间房子的人喝牛奶,
所以绿房子不是中间的
4. 绿房子在白房子的左边
所以绿白可能是12或者45,
9. 挪威人住在第一间房子 14. 挪威人住在蓝房子旁边 1.英国人住在红房子里
就可以推出房子的颜色依次是黄、蓝、红、绿、白

用7.黄房子主人抽dunhill烟 11. 养马人住在抽DUNHILL烟人的旁边
接着根据有关信息填入就是
1.黄、挪威、DUNHILL、X、X
2.蓝、X、X、X、马
3.红、英国、X、牛奶、X
4.绿、X、X、咖啡、X
5.白、X、X、X、X

继续根据12. 抽BLUE MASTER烟的人喝啤酒
此人为2或5的一个,且是瑞典人(3. 丹麦人喝茶 13. 德国人抽PRINCE烟)
那么就得出挪威人喝矿泉水,
根据15. 抽混合烟的人的邻居喝矿泉水 2.瑞典人养了一条狗
就很容易知道2抽混合烟,那么2就是丹麦人,且喝茶,也就是说5是瑞典人,抽BLUE MASTER烟,喝啤酒、养狗

继续表格表示
1.黄、挪威、DUNHILL、矿泉水、X
2.蓝、丹麦、混合、茶、马
3.红、英国、X、牛奶、X
4.绿、X、X、咖啡、X
5.白、瑞典、BLUE MASTER、啤酒、狗

然后进一步就是
4为德国,抽PRINCE,

就是说
1.黄、挪威、DUNHILL、矿泉水、X
2.蓝、丹麦、混合、茶、马
3.红、英国、X、牛奶、X
4.绿、德国、PRINCE、咖啡、X
5.白、瑞典、BLUE MASTER、啤酒、狗

把能知道的3英国是抽PALL MALL也就出来了
6. 抽PALL MALL 烟的人养了一只鸟
所以英国人养鸟,

10. 抽混合烟的人住在养猫人的旁边
就只能说明养猫的是挪威人

填进去就是
1.黄、挪威、DUNHILL、矿泉水、猫
2.蓝、丹麦、混合、茶、马
3.红、英国、PALL MALL、牛奶、鸟
4.绿、德国、PRINCE、咖啡、X
5.白、瑞典、BLUE MASTER、啤酒、狗

然后就是剩下个X了。。。谁养鱼?你知道了吗。。。想倒蛮快。。表达起来就要花点工夫了。。。希望看懂哦。。本回答被提问者采纳
第2个回答  2008-11-28
答案:第1间,黄色房子,挪威人,喝水,抽DUNHLL,养猫.
第2间,蓝色房子,丹麦人,喝茶,抽混合烟,养马.
第3间,红色房子,英国人,喝牛奶,抽PALL MALL,养鸟.
第4间,绿色房子,德国人,喝咖啡,抽PRINCE,养鱼.
第5间,白色房子,瑞士人,喝啤酒,抽BULE MAETER,养狗.
第3个回答  2008-11-28
真的很帮,我看C语言呢,可是我看不动了,好艰难,碰到瓶颈 了,怎么是好啊
第4个回答  2008-12-08

爱因斯坦出了一道题,他说世界上有90%的人回答不出,看看你是否属于10%...
1.有5栋5种颜色的房子 2.每一位房子的主人国籍都不同 3.这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物 4.没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料 已知条件: 1.英国人住在红房子里 2.瑞典人养了一条狗 3.丹麦人喝茶 4.绿房子在白房子的左边 5.绿房子主人喝咖啡 6...

爱因斯坦出了一道题,他说世界上有90%的人回答不出,看看你是否属于10%...
提示1,英国人住红色房子。一目了然,第一间是挪威人的,不可能。第二间,第四间,第五间都不是红色的。所以:红色(颜色,第三间),英国人(国籍,第三间)提示7,黄色房子主人抽Dunhill 香烟。哈,简单啊,除了第一间,其它的颜色那个地方都填了,黄色(颜色,第一间),Dunhill(香烟,第一...

爱因斯坦出了一道题,他说世界上有90%的人回答不出,看看你是否属于10%...
挪威人住第1间房,在最左边。∵英国人住红色房子,挪威人住蓝色房子隔壁,∴挪威人房子的颜色只能是绿、黄、白,又∵绿色房子在白色房子左面,挪威人住蓝色房子隔壁,∴挪威人只能住黄色房子,抽Dunhill香烟,∴第2间房是蓝色房子,又∵养马的人住在抽Dunhill香烟的人隔壁,所以第2间房子的主人养马。...

求推理侦探类谜题,要有答案的
2. 每一位房子的主人国籍都不同 3. 这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物 4. 没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料 已知条件:1. 英国人住在红房子里 2. 瑞典人养了一条狗 3. 丹麦人喝茶 4. 绿房子在白房子的...

跪求:一些智力方面的推理问题
爱因斯坦的问题 爱因斯坦出了一道题,他说世界上有90%的人回答不出,看看你是否属于10%。 内容: 1. 有5栋5种颜色的房子 2. 每一位房子的主人国籍都不同 3. 这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物 4. 没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料 已知条件: 1. 英...

给我几个晚会专用的智力题
爱因斯坦出了一道题,他说世界上有90%的人回答不出,看看你是否属于10%。 内容: 1. 有5栋5种颜色的房子 2. 每一位房子的主人国籍都不同 3. 这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物 4. 没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料 已知条件: 1. 英国人...

求推理侦探类谜题,要有答案的
线索五、从死者所有遗物中都未发现任何日记、信件,就包括死者本人的相片都没有一张。似乎没有任何的有价值的线索,她因何被杀?凶手是个什么样的人?展开你们的想象,通过以上部分片段的描述,你知道吗? 这个所谓的死者并不是这间屋子的主人,他打扫屋子,肢解尸体,给尸体化妆,拿走日记和照片都是...

超难的谜语大全及答案
No.10(爱因斯坦的问题) 爱因斯坦出了一道题,当年他说世界上有90%的人回答不出,看看你是否属于10%。 内容: 1、有5栋5种颜色的房子 2、每一位房子的主人国籍都不同 3、这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物 4、没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料 已知条件...

求几道难点的智力题
爱因斯坦出了一道题,当年他说世界上有90%的人回答不出,看看你是否属于10%。 内容: 1. 有5栋5种颜色的房子 2. 每一位房子的主人国籍都不同 3. 这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物 4. 没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料 已知条件: 1. 英国人住在红...

这道逻辑推理题全世界上有99%的人答不出来!高智商中的高智商的进!
4,5,8确定绿和白是第四第五;1确定红在3,黄是1.之后就是依次往里填就好了。上表中灰色部分是可以直接填出的。框里的数字代表推论的依据。然后依次推导出F3,F5(需要加上第15条信息,这个否定了BM烟不可能在C5),C5的推论是个难点(漏了第3条信息,这条否定了blends不可能在D5),。

相似回答