电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

愛因斯坦謎題的java解答方法

瀏覽:135日期:2024-06-13 16:02:07
內容: 愛因斯坦的推理題: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.抽混合煙的人的鄰居喝礦泉水問題:誰養魚?========================================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 = '愛因斯坦的推理題:nn'+ '1.有5棟5種顏色的房子n'+ '2.每一位房子的主人國籍都不同n'+ '3.這五個人每人只喝一個牌子的飲料,只抽一個牌子的香煙,只養一種寵物n'+ '4.沒有人有相同的寵物,抽相同牌子的煙,喝相同牌子的飲料nn'+ '已知條件: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.抽混合煙的人的鄰居喝礦泉水nn'+ '問題:誰養魚?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('PALLMALLt'); break; case 2: System.out.print('DUNHILLt'); break; case 3: System.out.print('BLUEMASTERt'); break; case 4: System.out.print('PRINCEt'); 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;} } } // 條件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;} } }// 條件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;}}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;}}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;} } }// 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; }}}break; } } //滿足所有條件: return true; } 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(!check3()){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(wff.getProblem()); System.out.println('========================================Start========================================'); wff.run(); System.out.println('========================================End=========================================='); }} Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd 愛因斯坦的推理題:1.有5棟5種顏色的房子2.每一位房子的主人國籍都不同
標簽: Java
相關文章:
主站蜘蛛池模板: 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 四川成人高考_四川成考报名网 | 爆炸冲击传感器-无线遥测传感器-航天星百科 | 合金ICP光谱仪(磁性材料,工业废水)-百科 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 维泰克Veertek-锂电池微短路检测_锂电池腐蚀检测_锂电池漏液检测 | 超声波气象站_防爆气象站_空气质量监测站_负氧离子检测仪-风途物联网 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 硬度计_影像测量仪_维氏硬度计_佛山市精测计量仪器设备有限公司厂家 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 广西教师资格网-广西教师资格证考试网 | 焊接减速机箱体,减速机箱体加工-淄博博山泽坤机械厂 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 杭州火蝠电商_京东代运营_拼多多全托管代运营【天猫代运营】 | 壹车网 | 第一时间提供新车_资讯_报价_图片_排行! | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 东莞市超赞电子科技有限公司 全系列直插/贴片铝电解电容,电解电容,电容器 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 餐饮加盟网_特色餐饮加盟店_餐饮连锁店加盟 | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 金属管浮子流量计_金属转子流量计厂家-淮安润中仪表科技有限公司 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 光照全温振荡器(智能型)-恒隆仪器 | 广东成考网-广东成人高考网| 「阿尔法设计官网」工业设计_产品设计_产品外观设计 深圳工业设计公司 | 软启动器-上海能曼电气有限公司| 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 |