问一个智力题,网上找不到确切答案的
有100个人与鬼,从外表很难区分开来。只知道其中人的个数超过半数,剩下的都是鬼,而人只说真话,鬼可能说真话也可能说假话。
这100个人(鬼)互相都知道彼此是人还是鬼。
现在要你从这100个人(鬼)当中找出一个人来,只能通过以下方式:
每次挑出两位,让这两位互相说出对方的身份,你根据两位的话进行判断。
问要最快的找出一个人来,至少要多少次?(一定要考虑最坏的情况)
100个人与鬼,说的是人的数+鬼的数一共等于100。此题非脑急题~~。
ps:这题有点难度,大家弄清题意后,再好好想想
可以的话,说出你的算法 已知人的数量大于鬼的数量并且占总体数量50%以上.也就是说,人的数量最少为51,最多为99,而鬼的数量最多为49,最少为1.
设想1:
因为条件限制一次只能选出两人进行询问,那么设两个为"X/Y",则可能出现的答案有:
1、X为鬼并且说谎,Y为鬼并且说谎,答案为:人、人.
2、X为鬼并且说真话,Y为鬼并且说真话,答案为:鬼、鬼.
3、X为鬼并且说谎,Y为鬼并且说真话,答案为:人、鬼.
4、X为人,Y为人,答案为:人、人.
5、X为鬼并说谎,Y为人,答案为:鬼、鬼
6、X为鬼并说真话,Y为人,答案为:人、鬼
结论:不论出现何种答案,其中一个都可能是"鬼",所以随机的询问是无法找到确定的"人"的.
[color=Red]推翻[/color]
设想2:
[color=Red]此题无解[/color]
这是一道相当变态的题目,一定程度上等于一道已知条件为:
[quote]
X+Y=100
X>Y
X和Y都为正整数.
[/quote]
求X或Y的题目,我不知道当一个只有三个数字的等式中两个都为未知数的情况下要怎么样解.而且最恶心的地方是鬼不仅数量不明,还可能说真话可能说谎话,这样完全就不能以鬼的答案作为条件.作为求证,给出的结论必须是经得起最坏情况的考验的,那么如果有49个鬼的话,则100人中有49个答案不能作为条件,并且还不能确认这49个答案究竟是其中第几个答案.也就是说不管你怎么问,也无法得知任何一点可以作为定论的条件.
[color=Red][size=4][font=黑体]推翻,我的斗志是不灭的,对我的智商是有绝对自信的..[/font][/size][/color]
[color=Red]设想3:[/color]
随机的挑选出其中一个,并设其为"X"
依次询问其余99个,根据已知条件"人的数量大于鬼".于是可能得出的答案有:
1、当X为人时,回答X为"人"的数量一定大于等于50.
2、当X为人时,回答X为"鬼"的数量一定小于50.
3、当X为鬼时,回答X为"人"的数量一定小于50.
4、当X为鬼时,回答X为"鬼"的数量一定大于等于50.
结论:
1、当回答X为"人"的数量大于等于50时,X一定为人.
2、当回答X为"鬼"的数量大于等于50时,X一定为鬼.
这个设想最终是可以得到准确答案的.
[font=黑体][size=4][color=Red]结论![/color][/size][/font]
答案是:
最少需要询问的次数为:连续50个回答X为"人"时,则可以确认X为"人",询问的次数为50
[color=Red]更正了最坏的情况需要询问的次数....[/color]
最多需要询问的次数为:当有超过50个回答X为"鬼"时,则确认X为鬼.因为是最坏的情况,考虑到需要询问99次才能够得到这个结论.于是将X排除,在余下的99个之中重新设一个"X",按照步骤继续询问,需要98次询问得到X为"鬼"的结论.按照这个方法持续下去.因为鬼最终的数量只有49个,当排除了49个鬼之后余下的51个便都是人了.
于是询问的次数为:
99+98+97+96+95+94........+53+2
=(100*10+90*10+80*10+70*10+60*7)-[4(1+2+3+4+5+6+7+8+9+10)+(1+2+3+4+5+6+7)]+2
=(1000+900+800+700+420)-[4*55+28]+2
=3820-[220+28]+2
=3820-248+2
=3572+2
=3574
至于为什么算式最后是+2而不是+52呢,因为当剩下最后1个鬼和51个人总数为52时,从中设一个X.只需要询问其中两个关于X的身份,而只可能出现如下几种情况:
1、两个都回答"人",那么X必定是人,因为只剩下一个鬼,不论他的答案真话还是假话,第二个答案必定是真的.
2、两个都回答"鬼",那么X必定是鬼,而因为唯一剩下的鬼被设为了X,于是剩下的51人必定全都是人,就不用再问了.
3、一个答"鬼",一个答"人",因为人必定说真话,而会说假话的只有鬼,所以出现不同答案的话必定有一个是假话,也就是说他们两个之中有一个是鬼,而鬼只剩下了一个,所以X必定是人.
于是,最多的询问次数应该为3574次...
P.S:鄙视楼下的..
[[i] 本帖最后由 々风妖々 于 2009-10-7 23:51 编辑 [/i]] 同楼上... = =不会 已解,LZ放出答案吧.........:unsure:
[[i] 本帖最后由 々风妖々 于 2009-10-7 21:37 编辑 [/i]] 我之前也在计算中,分析到一个结论,随机的挑选出其中一个,并设其为"X"
第一次筛选中,第50个说他是人的,他一定是人,第50个说他是鬼的,一定是鬼
如果选中的是鬼,那么下次筛选可以去掉一个鬼
个人分析:
如果抓到的是人,最多说他是鬼49次,之后都是说人
如果抓到的是鬼,最多说他是人48次,之后都是说鬼
如果抓到的是人,最多说他是人50次,第50个说他是人的一定是人
如果抓到的是鬼,最多说他是鬼99次,第50个说他是鬼的一定是鬼,之后的人可以全排除,把剩下的重新排
最坏的情况,第99次听到第50个鬼,说人的都可以排除,突然想到,其实最多100次就能排查出来
在确定自己手里是鬼的前提下,之前说他是人的都可以排除了
如果鬼也说真话来隐藏自己的话
再排查下个
应该是50+49+。。。+2=[color=Red]1274次[/color]
[[i] 本帖最后由 zxoys 于 2009-10-8 15:36 编辑 [/i]] [quote]原帖由 [i]zxoys[/i] 于 2009-10-7 21:43 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=11110483&ptid=1000915][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
我之前也在计算中,分析到一个结论,随机的挑选出其中一个,并设其为"X"
第一次筛选中,第50个说他是人的,他一定是人,第50个说他是鬼的,一定是鬼
如果选中的是鬼,那么下次筛选可以去掉一个鬼
从99人开始
... [/quote]
最多需要询问的次数为:当出现"人"和"鬼"的答案的次数都刚好为49时,根据已知条件"人的数量大于鬼",那么剩下的那一个必定是人,也就是说最多只需要询问98次.
最多为98次哦~~:lol:
你的推论跟我最开始的看法相似,这样排除的话需要做99*49=4801次询问.
[[i] 本帖最后由 々风妖々 于 2009-10-7 21:49 编辑 [/i]] 风妖酱乃好厉害···[m_装可爱] 同时咱发现乃也很闲··咱要把RPG的帖子顶上来给你一点压力了·· [quote]原帖由 [i]minagetsu[/i] 于 2009-10-7 21:58 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=11110554&ptid=1000915][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
风妖酱乃好厉害···[m_装可爱] 同时咱发现乃也很闲··咱要把RPG的帖子顶上来给你一点压力了·· [/quote]
其实我一直在做啊..没有松懈哦..:lol: 个人分析:
如果抓到的是人,最多说他是鬼49次,之后都是说人
如果抓到的是鬼,最多说他是人48次,之后都是说鬼
如果抓到的是人,最多说他是人50次,第50个说他是人的一定是人
如果抓到的是鬼,最多说他是鬼99次,第50个说他是鬼的一定是鬼,之后的人可以全排除,把剩下的重新排
最坏的情况,第99次听到第50个鬼,说人的都可以排除,再算
从99个开始,这时鬼最多48个,又很不幸,又只排除了他,本次筛选98次
从98个开始,这时鬼最多47个,又很不幸,又只排除了他,本次筛选97次
从97个开始,这时鬼最多46个,又很不幸,又只排除了他,本次筛选96次
从96个开始,这时鬼最多45个,又很不幸,又只排除了他,本次筛选95次
从95个开始,这时鬼最多44个,又很不幸,又只排除了他,本次筛选94次
。。。。。
如果每次都是鬼,其他都未知道
再算算
[[i] 本帖最后由 zxoys 于 2009-10-7 22:45 编辑 [/i]] 一直抽到鬼这辈子也别想完了 [quote]原帖由 [i]半根冰棍[/i] 于 2009-10-7 22:20 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=11110676&ptid=1000915][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
一直抽到鬼这辈子也别想完了 [/quote]
每次抽到鬼,可以把鬼排除 问题是鬼说的不知道真话还是假话.. 要是只说假话还可以排除吧.. [m_害羞] 要随时预报进度嘛 噢我懂了... 不是随机选择2个人.. 我说,你们不要都无视我的答案啊.........:unsure: [quote]原帖由 [i]zxoys[/i] 于 2009-10-7 22:17 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=11110657&ptid=1000915][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
个人分析:
如果抓到的是人,最多说他是鬼49次,之后都是说人
如果抓到的是鬼,最多说他是人48次,之后都是说鬼
如果抓到的是人,最多说他是人50次,第50个说他是人的一定是人
如果抓到的是鬼,最多说他是鬼 ... [/quote]
只剩下一个鬼时总数是52个
分析:51+52+53+54+。。。+99=? 我的分析是[color=Red]最糟糕,最倒霉的情况下[/color]筛选7200次后剩下的都是人了,鬼全部被排除掉了:lol:
[[i] 本帖最后由 zxoys 于 2009-10-7 22:56 编辑 [/i]] [quote]原帖由 [i]々风妖々[/i] 于 2009-10-7 22:43 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=11110767&ptid=1000915][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
我说,你们不要都无视我的答案啊.........:unsure: [/quote]
你的答案我都有仔细看的,没无视,同时自己也想,不知道谁的更正确,等高人来指点 如果是要最快那就是50次就搞掂了 [quote]原帖由 [i]天才小猪[/i] 于 2009-10-7 23:09 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=11110896&ptid=1000915][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
如果是要最快那就是50次就搞掂了 [/quote]
我答案是50~7200次之间,[color=Red]最倒霉,最糟糕的情况下7200次[/color] [quote]原帖由 [i]zxoys[/i] 于 2009-10-7 23:22 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=11110928&ptid=1000915][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
我答案是50~7200次之间,最倒霉,最糟糕的情况下7200次 [/quote]
仔细想了想,我的答案有误..更新一下..
最多需要询问的次数为:当有超过50个回答X为"鬼"时,则确认X为鬼.因为是最坏的情况,考虑到需要询问99次才能够得到这个结论.于是将X排除,在余下的99个之中重新设一个"X",按照步骤继续询问,需要98次询问得到X为"鬼"的结论.按照这个方法持续下去.因为鬼最终的数量只有49个,当排除了49个鬼之后余下的51个便都是人了.
于是询问的次数为:
99+98+97+96+95+94........+53+2
=(100*10+90*10+80*10+70*10+60*7)-[4(1+2+3+4+5+6+7+8+9+10)+(1+2+3+4+5+6+7)]+2
=(1000+900+800+700+420)-[4*55+28]+2
=3820-[220+28]+2
=3820-248+2
=3572+2
=3574
至于为什么算式最后是+2而不是+52呢,因为当剩下最后1个鬼和51个人总数为52时,从中设一个X.只需要询问其中两个关于X的身份,而只可能出现如下几种情况:
1、两个都回答"人",那么X必定是人,因为只剩下一个鬼,不论他的答案真话还是假话,第二个答案必定是真的.
2、两个都回答"鬼",那么X必定是鬼,而因为唯一剩下的鬼被设为了X,于是剩下的51人必定全都是人,就不用再问了.
3、一个答"鬼",一个答"人",因为人必定说真话,而会说假话的只有鬼,所以出现不同答案的话必定有一个是假话,也就是说他们两个之中有一个是鬼,而鬼只剩下了一个,所以X必定是人.
于是,最多的询问次数应该为3574次... 过来汗一下自己的数学水平,全还给老师了:ph34r: 最糟糕的是其实只有1个鬼 而且只会说假话 你一辈子都找不出 [quote]原帖由 [i]拽→强[/i] 于 2009-10-8 13:13 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=11112561&ptid=1000915][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
最糟糕的是其实只有1个鬼 而且只会说假话 你一辈子都找不出 [/quote]
假如只有一个鬼,并且只说假话的话那就好找了..
随便设一个X,出现两种情况.
X为人的话,询问另外的99个而其中只有一个答案不一样(因为鬼只说假话..)
X为鬼的话,询问另外的99个中的2个,那么两个答案都将会是"鬼",因为人只说真话.
那么,最好的情况下X为鬼,只需要问2次.
最坏的情况是把人设为了X,那么需要问99次...
相对的,如果鬼只说真话,就比较麻烦一点,不过因为人也是只说真话的,把他们分成50组,每组两人,互相问就知道了.
所以最好的情况是问1次,最坏的情况是问50次...
本身这道题最难的地方就在于鬼不一定说真话,也不一定说假话.. 突然想到,其实最多100次就能排查出来
在确定自己手里是鬼的前提下,之前说他是人的都可以排除了
[[i] 本帖最后由 zxoys 于 2009-10-8 14:49 编辑 [/i]] :ph34r: 这题目怎么这么象雷顿教授。。。 如果鬼也说真话来隐藏自己的话
再排查下个
应该是50+49+。。。+2=1274次
[[i] 本帖最后由 zxoys 于 2009-10-8 15:32 编辑 [/i]] 个人分析:
如果抓到的是人,最多说他是鬼49次,之后都是说人
如果抓到的是鬼,最多说他是人48次,之后都是说鬼
如果抓到的是人,最多说他是人50次,第50个说他是人的一定是人
如果抓到的是鬼,最多说他是鬼99次,第50个说他是鬼的一定是鬼,之后的人可以全排除,把剩下的重新排
最坏的情况,第99次听到第50个鬼,说人的都可以排除,突然想到,其实最多100次就能排查出来
在确定自己手里是鬼的前提下,之前说他是人的都可以排除了
如果鬼也说真话来隐藏自己的话
再排查下个
应该是50+49+。。。+2=[color=Red]1274[/color]次
页:
[1]
2