数学题~逻辑思维极强者进~

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

========================================Start========================================
答案1
挪威人 丹麦人 英国人 德国人 瑞典人
黄房子 蓝房子 红房子 绿房子 白房子
猫 马 鸟 鱼 狗
水 茶 牛奶 咖啡 啤酒
DUNHILL 混合烟 PALLMALL PRINCE BLUEMASTER
-------------------------------------------------------------------------------------
答案2
挪威人 德国人 英国人 丹麦人 瑞典人
绿房子 蓝房子 红房子 黄房子 白房子
鸟 猫 马 鱼 狗
咖啡 水 牛奶 茶 啤酒
PALLMALL PRINCE 混合烟 DUNHILL BLUEMASTER
-------------------------------------------------------------------------------------
答案3
挪威人 德国人 英国人 丹麦人 瑞典人
绿房子 蓝房子 红房子 黄房子 白房子
鸟 鱼 马 猫 狗
咖啡 水 牛奶 茶 啤酒
PALLMALL PRINCE 混合烟 DUNHILL BLUEMASTER
-------------------------------------------------------------------------------------
答案4
挪威人 德国人 瑞典人 英国人 丹麦人
绿房子 蓝房子 黄房子 红房子 白房子
鱼 猫 狗 马 鸟
咖啡 水 牛奶 啤酒 茶
混合烟 PRINCE DUNHILL BLUEMASTER PALLMALL
-------------------------------------------------------------------------------------
答案5
挪威人 德国人 瑞典人 英国人 丹麦人
绿房子 蓝房子 白房子 红房子 黄房子
鸟 猫 狗 马 鱼
咖啡 水 牛奶 啤酒 茶
PALLMALL PRINCE 混合烟 BLUEMASTER DUNHILL
-------------------------------------------------------------------------------------
答案6
挪威人 德国人 瑞典人 丹麦人 英国人
绿房子 蓝房子 白房子 黄房子 红房子
鸟 猫 狗 鱼 马
咖啡 水 牛奶 茶 啤酒
PALLMALL PRINCE 混合烟 DUNHILL BLUEMASTER
-------------------------------------------------------------------------------------
答案7
挪威人 德国人 瑞典人 丹麦人 英国人
绿房子 蓝房子 白房子 黄房子 红房子
鸟 鱼 狗 猫 马
咖啡 水 牛奶 茶 啤酒
PALLMALL PRINCE 混合烟 DUNHILL BLUEMASTER
-------------------------------------------------------------------------------------
========================================End==========================================

java代码:
/* * Created on 2005-11-8 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */package com.netengine.test;/** * @author cds * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */public class WhoFeedsFish { private static final String problem = "爱因斯坦的推理题:\n\n"+ "1.有5栋5种颜色的房子\n"+ "2.每一位房子的主人国籍都不同\n"+ "3.这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物\n"+ "4.没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料\n\n"+ "已知条件:\n"+ "1.英国人住在红房子里\n"+ "2.瑞典人养了一条狗\n"+ "3.丹麦人喝茶\n"+ "4.绿房子在白房子的左边\n"+ "5.绿房子主人喝咖啡\n"+ "6.抽pallmall烟的人养了一只鸟\n"+ "7.黄房子主人抽dunhill烟\n"+ "8.住在中间房子的人喝牛奶\n"+ "9.挪威人住在第一间房子\n"+ "10.抽混合烟的人住在养猫人的旁边\n"+ "11.养马人住在抽dunhill烟人的旁边\n"+ "12.抽bluemaster烟的人喝啤酒\n"+ "13.德国人抽prince烟\n"+ "14.挪威人住在蓝房子旁边\n"+ "15.抽混合烟的人的邻居喝矿泉水\n\n"+ "问题:谁养鱼?\n"; /** * @return Returns the problem. */ public String getProblem() { return problem; } private static final int NATIONALITY_ENGLISH = 1; private static final int NATIONALITY_SWIDISH = 2; private static final int NATIONALITY_DAMARK = 3; private static final int NATIONALITY_NORWAY = 4; private static final int NATIONALITY_GERMAN = 5; private int[] nationalities = new int[5]; private static final int COLOR_RED = 1; private static final int COLOR_GREEN = 2; private static final int COLOR_YELLOW = 3; private static final int COLOR_WHITE = 4; private static final int COLOR_BLUE = 5; private int[] colors = new int[5]; private static final int PET_DOG = 1; private static final int PET_BIRD = 2; private static final int PET_CAT = 3; private static final int PET_HORSE = 4; private static final int PET_FISH = 5; private int[] pets = new int[5]; private static final int DRINK_TEA = 1; private static final int DRINK_COFFEE = 2; private static final int DRINK_MILK = 3; private static final int DRINK_BEER = 4; private static final int DRINK_WATER = 5; private int[] drinks = new int[5]; private static final int TOBACCO_PALLMALL = 1; private static final int TOBACCO_DUNHILL = 2; private static final int TOBACCO_BLUEMASTER = 3; private static final int TOBACCO_PRINCE = 4; private static final int TOBACCO_MIXED = 5; private int[] tobaccoes = new int[5]; //5*5的二维数组,答案就在其中: private int[][] key ={nationalities,colors,pets,drinks,tobaccoes}; private static final 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(); } private void print(String item,int index){ if(false){ }else if("nationality".equals(item)){ switch(index){ case 1: System.out.print("英国人\t"); break; case 2: System.out.print("瑞典人\t"); break; case 3: System.out.print("丹麦人\t"); break; case 4: System.out.print("挪威人\t"); break; case 5: System.out.print("德国人\t"); break; } }else if("color".equals(item)){ switch(index){ case 1: System.out.print("红房子\t"); break; case 2: System.out.print("绿房子\t"); break; case 3: System.out.print("黄房子\t"); break; case 4: System.out.print("白房子\t"); break; case 5: System.out.print("蓝房子\t"); break; } }else if("pet".equals(item)){ switch(index){ case 1: System.out.print("狗\t"); break; case 2: System.out.print("鸟\t"); break; case 3: System.out.print("猫\t"); break; case 4: System.out.print("马\t"); break; case 5: System.out.print("鱼\t"); break; } }else if("drink".equals(item)){ switch(index){ case 1: System.out.print("茶\t"); break; case 2: System.out.print("咖啡\t"); break; case 3: System.out.print("牛奶\t"); break; case 4: System.out.print("啤酒\t"); break; case 5: System.out.print("水\t"); break; } }else if("tobacco".equals(item)){ switch(index){ case 1: System.out.print("PALLMALL\t"); break; case 2: System.out.print("DUNHILL\t"); break; case 3: System.out.print("BLUEMASTER\t"); break; case 4: System.out.print("PRINCE\t"); break; case 5: System.out.print("混合烟\t"); break; } } }// 条件1:英国人住在红房子里 01 private boolean check01(){ for(int i = 0; i < nationalities.length; i ++){ if(key[0][i] == NATIONALITY_ENGLISH){ if(key[1][i] != COLOR_RED){ return false; } else{ return true; } } } return false; } // 条件2:瑞典人养了一条狗 02 private boolean check02(){ for(int i = 0; i < nationalities.length; i ++){ if(key[0][i] == NATIONALITY_SWIDISH){ if(key[2][i] != PET_DOG){ return false; } else{ return true; } } } return false; }// 条件4:绿房子在白房子的左边 1 private boolean check1(){ 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){ return false; } else{ return true; } } } } } return false; } // 条件8:住在中间房子的人喝牛奶 3 private boolean check3(){ return key[3][2] == DRINK_MILK?true:false; } // 条件9:挪威人住在第一间房子 0 private boolean check0(){ if(key[0][0] != NATIONALITY_NORWAY){ return false; } return true; } // 14.挪威人住在蓝房子旁边 01 private boolean check011(){ 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 false; } /////////////////////////////////////////////////////////////////// //条件1,2,3,4,8,9,14被拿出来提前检测(预检测以去除不必要的操作,减少执行时间) private boolean check(){// 条件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; } } }// 条件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; } } }
参考资料:http://www.matrix.org.cn/resource/article/43/43941_java.html
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-05-27
首先定位一点,我们是按照房子的位置,从左至右,12345依次排开

挪威人住第1间房,在最左边。∵英国人住红色房子,挪威人住蓝色房子隔壁,∴挪威人房子的颜色只能是绿、黄、白,又∵绿色房子在白色房子左面,挪威人住蓝色房子隔壁,∴挪威人只能住黄色房子,抽Dunhill香烟,∴第2间房是蓝色房子,又∵养马的人住在抽Dunhill香烟的人隔壁,所以第2间房子的主人养马。∵绿色房子在白色房子左面,∴绿色房子只能在第3或者第4间。如果绿色房子在第3间(即中间那间),∵住在中间房子的人喝牛奶,∴绿色房子的主人喝牛奶,这与条件中绿色房子主人喝咖啡相矛盾。∴假设错误,绿色房子在第4间,其主人喝咖啡。进一步推出第3间房子是红色房子,住英国人,喝牛奶。第5间房子是白色房子。∵丹麦人喝茶,绿色房子主人喝咖啡,英国人喝牛奶,抽Blue Master的人喝啤酒,∴挪威人只能喝水。∵抽Blends香烟的人有一个喝水的邻居,∴抽Blends香烟的人只能住第2间房子。

现在我们来整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水。第2间房子是蓝色房子,主人养马,抽Blends香烟。第3间房子是红色房子,住英国人,喝牛奶。绿色房子在第4间,其主人喝咖啡。第5间房子是白色房子。∵抽Blue Master的人喝啤酒,∴既抽Blue Master,又喝啤酒的人只能住在第5间房子。∵德国人抽Prince香烟,∴德国人只能住第4间房子。∵抽Pall Mall香烟的人养鸟,∴只有英国人抽Pall Mall香烟,养鸟。∵抽Blends香烟的人住在养猫的人隔壁,又∵抽Blends香烟的人的隔壁只可能是挪威人或者英国人,∴养猫的人是挪威人或者英国人,又∵英国人养鸟,∴养猫的人是挪威人。

现在我们再来整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水,养猫。第2间房子是蓝色房子,主人养马,抽Blends香烟。第3间房子是红色房子,住英国人,喝牛奶,Pall Mall香烟,养鸟。第4间房子是绿色房子,住德国人,抽Prince香烟,喝咖啡。第5间房子是白色房子,主人抽Blue Master,喝啤酒。∵瑞典人养狗,又∵第1,2,3间房子的主人都不养狗,第4间房子的主人是德国人,∴第5间房子住瑞典人,养狗。∵第1,3,4,5间房子的主人分别是挪威人,英国人,德国人,瑞典人,∴第2间房子的主人是丹麦人,喝茶。

最后将战果整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水,养猫;第2间房子是蓝色房子,住丹麦人,抽Blends香烟,喝茶,养马;第3间房子是红色房子,住英国人,抽Pall Mall香烟,喝牛奶,养鸟;第4间房子是绿色房子,住德国人,抽Prince香烟,喝咖啡;第5间房子是白色房子,住瑞典人,抽Blue Master,喝啤酒,养狗。

结论:如果其中有人养鱼,则养鱼的必定是德国人!
第2个回答  2007-06-01
德国人

威人住第1间房,在最左边。∵英国人住红色房子,挪威人住蓝色房子隔壁,∴挪威人房子的颜色只能是绿、黄、白,又∵绿色房子在白色房子左面,挪威人住蓝色房子隔壁,∴挪威人只能住黄色房子,抽Dunhill香烟,∴第2间房是蓝色房子,又∵养马的人住在抽Dunhill香烟的人隔壁,所以第2间房子的主人养马。∵绿色房子在白色房子左面,∴绿色房子只能在第3或者第4间。如果绿色房子在第3间(即中间那间),∵住在中间房子的人喝牛奶,∴绿色房子的主人喝牛奶,这与条件中绿色房子主人喝咖啡相矛盾。∴假设错误,绿色房子在第4间,其主人喝咖啡。进一步推出第3间房子是红色房子,住英国人,喝牛奶。第5间房子是白色房子。∵丹麦人喝茶,绿色房子主人喝咖啡,英国人喝牛奶,抽Blue Master的人喝啤酒,∴挪威人只能喝水。∵抽Blends香烟的人有一个喝水的邻居,∴抽Blends香烟的人只能住第2间房子。

现在我们来整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水。第2间房子是蓝色房子,主人养马,抽Blends香烟。第3间房子是红色房子,住英国人,喝牛奶。绿色房子在第4间,其主人喝咖啡。第5间房子是白色房子。∵抽Blue Master的人喝啤酒,∴既抽Blue Master,又喝啤酒的人只能住在第5间房子。∵德国人抽Prince香烟,∴德国人只能住第4间房子。∵抽Pall Mall香烟的人养鸟,∴只有英国人抽Pall Mall香烟,养鸟。∵抽Blends香烟的人住在养猫的人隔壁,又∵抽Blends香烟的人的隔壁只可能是挪威人或者英国人,∴养猫的人是挪威人或者英国人,又∵英国人养鸟,∴养猫的人是挪威人。

现在我们再来整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水,养猫。第2间房子是蓝色房子,主人养马,抽Blends香烟。第3间房子是红色房子,住英国人,喝牛奶,Pall Mall香烟,养鸟。第4间房子是绿色房子,住德国人,抽Prince香烟,喝咖啡。第5间房子是白色房子,主人抽Blue Master,喝啤酒。∵瑞典人养狗,又∵第1,2,3间房子的主人都不养狗,第4间房子的主人是德国人,∴第5间房子住瑞典人,养狗。∵第1,3,4,5间房子的主人分别是挪威人,英国人,德国人,瑞典人,∴第2间房子的主人是丹麦人,喝茶。

最后将战果整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水,养猫;第2间房子是蓝色房子,住丹麦人,抽Blends香烟,喝茶,养马;第3间房子是红色房子,住英国人,抽Pall Mall香烟,喝牛奶,养鸟;第4间房子是绿色房子,住德国人,抽Prince香烟,喝咖啡;第5间房子是白色房子,住瑞典人,抽Blue Master,喝啤酒,养狗。

结论:如果其中有人养鱼,则养鱼的必定是德国人!

如图1|     2|    3|     4|     5
颜色    黄|    篮|    红|    绿|     白
国际   挪威|   丹麦|   英国|   德国|    瑞典
饮料    水|    茶|   牛奶|   咖啡|    啤酒
香烟  Dunhill| Blends| Pall Mall|  Prince| Blue Master
宠物    猫|    马|    鸟|    鱼|     狗
结论:德国人!
第3个回答  2007-05-31
首先定位一点,我们是按照房子的位置,从左至右,12345依次排开

挪威人住第1间房,在最左边。∵英国人住红色房子,挪威人住蓝色房子隔壁,∴挪威人房子的颜色只能是绿、黄、白,又∵绿色房子在白色房子左面,挪威人住蓝色房子隔壁,∴挪威人只能住黄色房子,抽Dunhill香烟,∴第2间房是蓝色房子,又∵养马的人住在抽Dunhill香烟的人隔壁,所以第2间房子的主人养马。∵绿色房子在白色房子左面,∴绿色房子只能在第3或者第4间。如果绿色房子在第3间(即中间那间),∵住在中间房子的人喝牛奶,∴绿色房子的主人喝牛奶,这与条件中绿色房子主人喝咖啡相矛盾。∴假设错误,绿色房子在第4间,其主人喝咖啡。进一步推出第3间房子是红色房子,住英国人,喝牛奶。第5间房子是白色房子。∵丹麦人喝茶,绿色房子主人喝咖啡,英国人喝牛奶,抽Blue Master的人喝啤酒,∴挪威人只能喝水。∵抽Blends香烟的人有一个喝水的邻居,∴抽Blends香烟的人只能住第2间房子。

现在我们来整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水。第2间房子是蓝色房子,主人养马,抽Blends香烟。第3间房子是红色房子,住英国人,喝牛奶。绿色房子在第4间,其主人喝咖啡。第5间房子是白色房子。∵抽Blue Master的人喝啤酒,∴既抽Blue Master,又喝啤酒的人只能住在第5间房子。∵德国人抽Prince香烟,∴德国人只能住第4间房子。∵抽Pall Mall香烟的人养鸟,∴只有英国人抽Pall Mall香烟,养鸟。∵抽Blends香烟的人住在养猫的人隔壁,又∵抽Blends香烟的人的隔壁只可能是挪威人或者英国人,∴养猫的人是挪威人或者英国人,又∵英国人养鸟,∴养猫的人是挪威人。

现在我们再来整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水,养猫。第2间房子是蓝色房子,主人养马,抽Blends香烟。第3间房子是红色房子,住英国人,喝牛奶,Pall Mall香烟,养鸟。第4间房子是绿色房子,住德国人,抽Prince香烟,喝咖啡。第5间房子是白色房子,主人抽Blue Master,喝啤酒。∵瑞典人养狗,又∵第1,2,3间房子的主人都不养狗,第4间房子的主人是德国人,∴第5间房子住瑞典人,养狗。∵第1,3,4,5间房子的主人分别是挪威人,英国人,德国人,瑞典人,∴第2间房子的主人是丹麦人,喝茶。

最后将战果整理一下,第1间房子是黄色房子,住挪威人,抽Dunhill香烟,喝水,养猫;第2间房子是蓝色房子,住丹麦人,抽Blends香烟,喝茶,养马;第3间房子是红色房子,住英国人,抽Pall Mall香烟,喝牛奶,养鸟;第4间房子是绿色房子,住德国人,抽Prince香烟,喝咖啡;第5间房子是白色房子,住瑞典人,抽Blue Master,喝啤酒,养狗。
如图1|     2|    3|     4|     5
颜色    黄|    篮|    红|    绿|     白
国际   挪威|   丹麦|   英国|   德国|    瑞典
饮料    水|    茶|   牛奶|   咖啡|    啤酒
香烟  Dunhill| Blends| Pall Mall|  Prince| Blue Master
宠物    猫|    马|    鸟|    鱼|     狗
结论:德国人!
第4个回答  2007-05-29
我从事数学竞赛命题多年,从来不命这类所谓"推理"题,因为太没劲的了,方法平凡单一,费时费力,意义太小.在这里我只讲通用而且是唯一的方法,就不必象楼上诸位绞尽脑汁给出答案了.
第一步:根据条件画出表格,本题需要画五行五列的表格.
第二步:找出相对最完整的一类信息开始定位,本题中应选房子颜色做为定位标准.
第三步:逐条分析,能够确定的就填入表格,再将该行信息划掉,不然太多了,扰乱视线.
第四步:经过一轮分析后,肯定还会剩几条不能直接判断的,那就需要假设,假定某一个元素的位置后,再分析余下信息,如果出现矛盾,则说明假定有误,再修正假定,一般修正不会超过两次即可顺利解决.
相似回答