一道离散数学题。
两个人,有一个永远说谎,有一个永远不说谎。设计一个问题,找到说谎的人。 问题点数:100、回复次数:18Top
1 楼one_add_one()我要睡觉:)回复于 2002-05-09 20:31:20 得分 100
哈哈,这个简单呀。
你问其中一个人“天上有一头猪在飞是不是?”
说是的话就是他。
:)Top
2 楼zmm233(dracula)回复于 2002-05-09 20:44:33 得分 0
这个问题跟《离散数学及其应用》里的差不多,哪位作过哪道题的或逻辑好的,
讲一下!Top
3 楼sdp(雨尘)回复于 2002-05-09 20:49:36 得分 0
设两个人为A,B。
你问A:“如果我问B“A是否是永远说谎的那个人?”他会回答什么?“
然后你再问B:”A是否是永远说谎的那个人?“
如果B回答的与A的答案一样,说明A是说真话的,如不一样,A就是说谎话的那个人了!!
其实这是一道很简单的离散数学题,很多书上都有的。Top
4 楼sdp(雨尘)回复于 2002-05-09 20:51:45 得分 0
我可是第一个回答出来的,呵呵~~~明白了就给分!!
如果不明白,就给我发邮件
csdp@etang.comTop
5 楼sdp(雨尘)回复于 2002-05-09 20:54:59 得分 0
关键的一句:问A:“如果我问B“A是否是永远说谎的那个人?”B会回答什么?“
Top
6 楼dirotac(一粒沙尘)回复于 2002-05-09 23:22:50 得分 0
机械工业出版社
《离散数学及其应用》
第654页,第28行
Top
7 楼leopro(漫漫人生路,与你同行)回复于 2002-05-10 00:50:22 得分 0
to sdp(闲着的眼
你说得不错,不过有些画蛇添足
只问一个人就够了,没必要再问第二个人
你问甲:“假如我问乙‘乙说谎吗’,他会怎么回答?”
假如甲回答是,那么 甲说谎
假如甲回答否,那么 乙说谎
分析如下:
a, 甲说真话,乙说谎
那么你问乙‘乙说谎吗’,乙肯定作出相反地回答,不,甲会如实地反映乙的回答,不
b, 甲说谎,乙说真话
那么你问乙‘乙说谎吗’,乙肯定作出正确地回答,不,甲会歪曲反映乙的回答,是
(-1)*(-1)*1=1
1*1*(-1)=-1
假如能理解这个式子,说明你真的懂了Top
8 楼Norse(蓝精灵)回复于 2002-05-10 14:19:38 得分 0
one_add_one()快给分给分:) 的答案最好,正确,简洁,不失幽默Top
9 楼ydaye(不用记,不用记,根本不用记!)回复于 2002-05-10 15:29:00 得分 0
这个问题太简单了,随便问问就能知道,答案可以很多,问某个人一个事实就可以了,就像one_add_one()问的。
问题这样就更难一些:
你面前有两条路“天堂”和“地狱”,你当然想上天堂,但是你不知道是哪一条路,路口有两个人,一个永远说真话,一个永远说假话,你只能问他们当中的一个人,且只能问一句话,有个前提是,他们互相知道对方是说真话还是说假话,请问问什么话才能判断去天堂的正确的路。
答案只有一种:
假设你想问的人叫A(随便是哪个),问:“如果我问B‘哪一条路能去天堂’他会怎么回答?”,那么A回答的那一条一定是去地狱的。
当然文具改为“如果我问B‘哪一条路能去地狱’他会怎么回答?”也是可以的。
Top
10 楼ydaye(不用记,不用记,根本不用记!)回复于 2002-05-10 15:30:42 得分 0
这个问题太简单了,随便问问就能知道,答案可以很多,问某个人一个事实就可以了,就像one_add_one()问的。
问题这样就更难一些:
你面前有两条路“天堂”和“地狱”,你当然想上天堂,但是你不知道是哪一条路,路口有两个人,一个永远说真话,一个永远说假话,你只能问他们当中的一个人,且只能问一句话,有个前提是,他们互相知道对方是说真话还是说假话,请问问什么话才能判断去天堂的正确的路。
答案只有一种:
假设你想问的人叫A(随便是哪个),问:“如果我问B‘哪一条路能去天堂’他会怎么回答?”,那么A回答的那一条一定是去地狱的。
当然文具改为“如果我问B‘哪一条路能去地狱’他会怎么回答?”也是可以的。
Top
11 楼Januarius_(努力学习J2EE中)回复于 2002-05-10 15:34:45 得分 0
我还是觉得第一个答案比较好,不用这么伤脑筋!Top
12 楼sdp(雨尘)回复于 2002-05-10 16:20:16 得分 0
快结贴吧!我想再没有别的答案了,如果你还不明白,那就多回家看看书。我想多看书是很有用的!!Top
13 楼zjber(流星飞月)回复于 2002-05-10 18:07:05 得分 0
只要问一句
问A:B是不是永远说谎的人?
A 说是,则A是说真话的
A是,则A是说谎的人Top
14 楼shenhong0(sh1.25)回复于 2002-05-16 13:27:59 得分 0
这就是离散数学吗??有点像小学奥校的逻辑题!Top
15 楼zhangjinjun(深度优先搜索)回复于 2002-05-16 16:56:17 得分 0
你好,刚才看到了你出的那道离散题了,其实你的条件有点少,如果按照你的题目:
“两个人,有一个永远说谎,有一个永远不说谎。设计一个问题,找到说谎的人。”
但是你的题目很有意思的是:出现了两种人
1.one_add_one()快给分给分:),这位仁兄可以说(我想),没有上过离散课,所以他的思维没有局限,所以他的思维和你的问题是很吻合的。
2. sdp(闲着的眼) ,这位仁兄可以说是这些人的代表了,他上过离散,所以凡事也就按照离散去考虑,甚至是答案,完全市离散数上的答案,可是更本不需要那么复杂,因为你的问题并不是什么复杂的问题!
这样考虑:有A和B两个:(假设B说谎)
假设正确回答为1,错误回答为-1,那么:
只要是你的问题本身就有错误(-1),那么回答肯定的人就是说谎的人!
逻辑为:
A:1×(-1)=-1
B:(-1)×(-1)=1
所以说你的题目如果改成:“两个人,有一个永远说谎,有一个永远不说谎,且只会回答你是或不是。现在有一个两分差口,其中一条路可以到达你的目的地,你在不知道谁说谎,谁不说谎的前提下,如何只问一个人,便知道正确的方向。”Top
16 楼Lycosthu(Lycosthu)回复于 2002-05-16 17:22:59 得分 0
to zhangjinjun(三十功名尘与土)
你说的简直是P话,1+1可是复旦大学的,而sdp是我同学,他根本没学过离散数学Top
17 楼Soft__(软件)回复于 2002-05-16 17:24:36 得分 0
upTop
18 楼jg_duan()回复于 2002-05-16 20:18:16 得分 0
这个问题类似于在许多“逻辑学”和“离散数学”的书上均有一个经典问题,但比那个问题简单。那个经典问题具体你可参阅
《离散数学》-(左孝凌等著 上海科技文献出版社)一书的第一章第九节的最后一道例题。你的问题可以这样解答。
你随意问其中一个人:“如果我问另一个人‘你永远说谎’,他将回答是,你说对吗?”
如果他回答“是”,他是永远说真话的人;如果他回答“不是”他就是那个永远说谎的人。Top
19 楼leopro(漫漫人生路,与你同行)回复于 2002-05-17 00:31:21 得分 0
搂主自己都搞不清要问什么,还号称 一道离散数学题
回去好好看书吧Top




