爱因斯坦推理题C++实现.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
爱因斯坦推理题C实现

爱因斯坦在20世纪初出一道逻辑推理题。他说世界上有98%的人答不出来。 题目如下: 在一条街上,有5座房子,喷了5种颜色。每个房里住着不同国籍的人。每个人喝不同的饮料,抽不同品牌的香烟,养不同的宠物。 已知条件: 1、英国人住红色房子 2、瑞典人养狗 3、丹麦人喝茶 4、绿色房子在白色房子左面 5、绿色房子主人喝咖啡 6、抽Pall Mall 香烟的人养鸟 7、黄色房子主人抽Dunhill 香烟 8、住在中间房子的人喝牛奶 9、 挪威人住第一间房 10、抽Blends香烟的人住在养猫的人隔壁 11、养马的人住抽Dunhill 香烟的人隔壁 12、抽Blue Master的人喝啤酒 13、德国人抽Prince香烟 14、挪威人住蓝色房子隔壁 15、抽Blends香烟的人有一个喝水的邻居 问谁养鱼? //--------------------------------------------------------------------------- 首先给出程序运行结果: //--------------------------------------------------------------------------- C++解析: 通过0-4来标记房子的位置,并规定最左边的位置的标号为0,最右边的标号为4。 通过0-4来标记国籍、房子颜色、饮料、宠物和烟的牌子。 通过排列组合的方法来选定他们的各种属性的组合。 由于需要组合的信息太大,选取先化简再进行组合的方法。 化简方法如下: 由条件8->条件9->条件14->条件4->条件5->条件1 可以确定的信息如下: ?*位??? 置:??? 0???????? 1????????? 2????????? 3????????? 4 ?*国??? 籍: 挪威人?????????????? 英国人 ?*房子颜色:? 黄色????? 蓝色?????? 红色?????? 绿色?????? 白色?????? ?*饮??? 料:?????????????????????? 牛奶?????? 咖啡 ?*宠??? 物: ?*烟的牌子: 通过排列组合后,同过检测其余的条件,来得到正确的结果。 由此给出C++实现的代码: //编译环境:? DEV-C++ 4.9.9.2 //共两个文件:main.cpp和MyDef.h /* *File: MyDef.h *Author: Umbrella *Date: 2012/1/29/ 14:35 */ #ifndef __MY_DEFINE_H__ #define __MY_DEFINE_H__ //--------------------------------------------------------------------------- #define WIDTH 12 //--------------------------------------------------------------------------- #define YELLOW 0 //const #define BLUE 1 //const #define RED 2 //const #define GREEN 3 //const #define WHITE 4 //const //--------------------------------------------------------------------------- #define DOG 0 #define BIRD 1 #define CAT 2 #define HORSE 3 #define FISH 4 //--------------------------------------------------------------------------- #define PALLMALL 0 #define DUNHILL 1 #define BLENDS 2 #define BLUEMASTER 3 #define PRINCE 4 //--------------------------------------------------------------------------- #define DANISH 0 #define SWEDISH 1 #define GERM

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档