`
kofsky
  • 浏览: 196733 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

逻辑题:住楼问题

阅读更多
引用
Baker, Cooper, Fletcher, Miller, 和Smith住在一动5层公寓的不同楼层。Baker不在顶楼住。Cooper不在底楼住。Fletcher既不在顶楼也不在底楼。Miller住的楼层比Cooper住的高。Smith和Fletcher的楼层不相邻。Fletcher和Cooper的楼层不相邻。问每个人住的楼层。

把B,C,F,M,S代表表示这五个人分别所住的楼层
也就是说B,C,F,M,S只会取1-5的数值
然后把条件重新排列一下
1. Baker不在顶楼:B可能1,2,3,4
2. Cooper不在底楼:C可能2,3,4,5
3. Fletcher既不在顶楼也不在底楼:F可能2,3,4
4. Miller住的楼层比Cooper住的高: M > C
5. Smith和Fletcher的楼层不相邻: |S-F|>1
6. Fletcher和Cooper的楼层不相邻: |F-C|>1

由 条件 4 稍微推导一下,得到间接条件
7. C不可能顶层,M不可能底层

问题的关键在于两个 不相邻条件, 也就是条件5和条件6
由于它们都是指定与 Fletcher 不相关联,而 Fletcher 只能在2,3,4中取值

依次推导即可。

若 F = 2,由不相邻条件5,6,则 S 与 C 只能在4,5中取值; 根据条件7,只能是 C = 4, 则 S = 5 , 而此时, 根据条件4, M > C, 唯一一个比C大的值5已经被 S 占了,矛盾,所以此路不通

若 F = 3, 由不相邻条件5,6,则 S 与 C 只能在1,5中取值; 而综合条件2和7, C不在顶楼也不在底楼,矛盾,此路也不通

只剩下一种可能性, F = 4
然后后面的就好推断了
依次为:C = 2, S = 1, B = 3, M = 5

     
分享到:
评论
2 楼 xly_971223 2008-07-09  
好像是离散数学里有这东东
1 楼 dennis_zane 2008-07-08  
这类问题用Prolog解决是最便捷的。
nobottom(B,[A,B,C,D,E]).
nobottom(C,[A,B,C,D,E]).
nobottom(D,[A,B,C,D,E]).
nobottom(E,[A,B,C,D,E]).
notop(A,[A,B,C,D,E]).
notop(B,[A,B,C,D,E]).
notop(C,[A,B,C,D,E]).
notop(D,[A,B,C,D,E]).
notopbottom(B,[A,B,C,D,E]).
notopbottom(C,[A,B,C,D,E]).
notopbottom(D,[A,B,C,D,E]).

high(E,A,[A,B,C,D,E]).
high(E,B,[A,B,C,D,E]).
high(E,C,[A,B,C,D,E]).
high(E,D,[A,B,C,D,E]).
high(D,A,[A,B,C,D,E]).
high(D,B,[A,B,C,D,E]).
high(D,C,[A,B,C,D,E]).
high(C,A,[A,B,C,D,E]).
high(C,B,[A,B,C,D,E]).
high(B,A,[A,B,C,D,E]).

nonext(A,C,[A,B,C,D,E]).
nonext(A,D,[A,B,C,D,E]).
nonext(A,E,[A,B,C,D,E]).
nonext(B,D,[A,B,C,D,E]).
nonext(B,E,[A,B,C,D,E]).
nonext(C,A,[A,B,C,D,E]).
nonext(C,E,[A,B,C,D,E]).
nonext(D,A,[A,B,C,D,E]).
nonext(D,B,[A,B,C,D,E]).
nonext(E,A,[A,B,C,D,E]).
nonext(E,B,[A,B,C,D,E]).
nonext(E,C,[A,B,C,D,E]).
solve(X,B,C,F,M,S):-  
   X=[1,2,3,4,5],
   member(B,X),
   notop(B,X),
   member(C,X),
   nobottom(C,X),
   member(F,X),
   notopbottom(F,X),
   member(M,X),
   high(M,C,X),
   member(S,X),
   nonext(S,F,X),
   nonext(F,C,X),
   B\==C,
   B\==F,
   B\==M,
   B\==S,
   C\==F,
   C\==M,
   C\==S,
   F\==M,
   F\==S,
   M\==S.

执行
| ?- solve(X,B,C,F,M,S).

B = 3
C = 2
F = 4
M = 5
S = 1
X = [1,2,3,4,5]

相关推荐

    求职圣经:笔试常用逻辑思考题

    各大名企笔试中,常常会遇到逻辑思考题,考察应聘者的反应和能力和逻辑思维能力。 本文收录很多这类题目,对求职者有很大帮助 比如:一列火车上三个工人,史密斯――琼斯――罗伯特,三人工作为消防员,司闸员,机 ...

    75道逻辑思维题1

    1. 红房子在蓝房子的右边,白房子的左边(不一定紧邻) 2. 黄房子的主人来自香港,而且他的房子不在最左边 3. 爱吃比萨的人住在爱喝矿泉水的人的隔壁 4. 来

    JAVA运用ArrayList实现逻辑推理题(谁养鱼)

    使用JAVA语言中的ArrayList解决爱因斯坦在20世纪初出的逻辑推理题——《谁养鱼》,在一条街上有5座房子,喷了5种颜色。每个房子里住着不同国籍的人。每个人喝不同的饮料,抽不同品牌的香烟,养不同的宠物。问谁养的...

    系统分析师数据库系统(一).docx

    11 1 1 [模拟] 系统分析师数据库系统(一) 选择题 第1题: 若系统中存在一个等待事务集(T<sub>0,T<sub>1,T<sub>2,…,T<sub>n),其中T<sub>0正等待被T<sub>1锁住的数据项A<sub>1,T<sub>1正等待被T<sub>2锁住的...

    leetcode和oj-Coding-Interview:编程面试

    如果你卡住了 :订阅他们的每周时事通讯和您感兴趣的任何其他主题 :一个分享知识和更好地了解世界的地方: 对于那些想开始一个小项目但找不到想法的人 :包含从初级到中级的大约 125 个项目创意。 :适合初学者的...

    人工智能机器人搬盒子和爱因斯坦斑马问题prolog.doc

    爱因斯坦逻辑难题(斑马问题):5个不同国家且工作各不相同的人分别住在一条街上的5所房子里,每所房子的颜色不同,每个人都有自己养的不同宠物,喜欢喝不同的饮料。根据以下信息,你能告诉我哪所房子里的人养斑马...

    c++ 面试题 总结

    C++面试题 1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。 private 也被集成,只事派生类没有访问权限而已 virtual可加可不加 子类的...

    aiyinsitan.rar_Java 8_aiyinsitan_java smoke_jmonkey_脑筋

    原题为: 1.有5栋5种颜色的房子 2.每一位房子的主人国籍都不同 ... 这道迷题出自1981年柏林的德国逻辑思考学院。 据说世界上只有2%的人能出答案。 就连大名鼎鼎的爱因斯坦也成为此题大伤脑筋。

    数据库酒店管理系统.doc

    数据库课程设计报告 酒店管理系统的设计 系 部 信息工程系 专 业 计算机软件专业 班 级 学 号 ____________ 姓 名 _______________课 题 _____________ 指导教师 报告成绩______________ 目 录 1 课程设计目的及要求...

    数据库酒店管理系统(1).doc

    数据库课程设计报告 酒店管理系统的设计 系 部 信息工程系 专 业 计算机软件专业 班 级 学 号 ____________ 姓 名 _______________课 题 _____________ 指导教师 报告成绩______________ 目 录 1 课程设计目的及要求...

    一线大厂面试真题-谈谈你对MQ的理解精讲

    平时只关注使用,并没有去总结过,竟然被这个问题住了。 一、什么是MQ MQ全称是Message Queue,直译过来叫做消息队列,主要是作为分布式应用之间实现异步通信的方式。 主要由三个部分组成 ,分别是生产者、消息...

    现代C++程序设计

    3.1 关系运算符和逻辑运算符 3.2 if语句 3.2.1 if-else语句 3.2.2 问题分析:在if语句中使用大括号 3.2.3 if-else if-else语句 3.2.4 低效的编程方法 3.2.5 if-else程序示例 3.2.6 嵌套if-else语句 3.2.7 条件运算符...

    flexsim实验报告.doc

    通过Flexsim可成功解决:提高设备的利用率,减少等候时间和排队长度,有效分配资源 ,消除缺货问题,把故障的负面影响减至最低,把废弃物的负面影响减至最低,研究可 替换的投资概念,决定零件经过的时间,研究降低...

    职中计算机应用基础第二章测试题及答案.docx

    A 、可以有多个窗口 B、只能是固定的窗口 C、是没有被其他窗口盖住的窗口 D、是有一个标题栏颜色与众不同的窗口 19、鼠标和键盘的设置是在〔 〕中完成的。 A、文件 B 、文件夹 C、 "控制面板 " D 、 "网上邻居 " 20...

    文章管理系统

    2.[改进]为了系统安全和稳定去掉宇初验证码和印象码,加入4种数字验证码、1种中文验证码、1种计算题验证码供用户选择 3.[改进]为了后台系统安全,后台登录页不用判断是否已登录状态并自动跳转到管理页 4.[改进]后台...

    学生成绩数据库管理系统.doc

    数学与计算机学院 课程设计说明书 课 程 名 称: 大型数据库-课程设计 课 程 代 码: 8424141 题 目: 学生成绩数据库管理系统 年级/专业/班: 学 生 姓 名: 学 号: 332008090101020 开 始 时 间: 2011 年 06 月 16 日 ...

    酒店管理系统数据库的设计与实现设计.doc

    目录 1系统分析 1 1.1 问题描述 1 1.2 需求分析 1 2系统设计 4 2.1 概念结构设计 4 2.2 逻辑结构设计 5 2.3 物理结构设计 7 3系统实现 8 3.1 建立数据库 8 3.2 功能操作 9 3.3 操作显示 14 4总结 16 4.1 设计体会 ...

    【全新正版】现代C++程序设计(原书第2版)

    3.1 关系运算符和逻辑运算符 3.2 if语句 3.2.1 if-else语句 3.2.2 问题分析:在if语句中使用大括号 3.2.3 if-else if-else语句 3.2.4 低效的编程方法 3.2.5 if-else程序示例 3.2.6 嵌套if-else语句 3.2.7 条件运算符...

    考研数学150分是这样练成的

    我观察了一下,一般来说有这个问题的同学有一个共性,就是在草稿纸上演算时,比较潦草,纸上经常是乱七八糟,想回过头查找一下某道题的计算过程,是很难的一件事。还有就是演算的时候不认真。建议这种同学在使用草稿...

    数据库系统概论.pdf

    得 分 试题一 一、单项选择题 (本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是 符合题目要 求的,请将其代码填写在题后 的括号内。错选、多选或未选均无分。 1. 数据库系统的核心是( ...

Global site tag (gtag.js) - Google Analytics