| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4744 人关注过本帖, 1 人收藏
标题:鬼谷子问徒
取消只看楼主 加入收藏
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏(1)
 问题点数:0 回复次数:23 
鬼谷子问徒
鬼谷子问徒
孙膑,庞涓都是鬼谷子的徒弟,一天鬼谷子出了这道题目:他从2到99选出两个不同的整数,把积告诉孙,把和告诉庞.庞说:我虽不能确定这两个数是什么,但是我肯定你也不知道这两个数是什么.孙说:我本来的确不知道,但是听你这么一说,我现在能确定这两个数字了.庞说既然你这么说,我现在也知道这两个数字是什么了.请问这两个数字是什么?为什么?
搜索更多相关主题的帖子: 鬼谷子 孙膑 数字 徒弟 庞涓 
2008-06-11 14:13
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
关于这个问题,我至今还找不到一个正确答案.

myQQ::445750010
2008-06-11 16:46
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
这个网站的人气很旺,一会就沉底了.
鬼谷子问徒这个问题,有人能解决吗

myQQ::445750010
2008-06-11 20:16
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
把上面的解答略作改动,这就是正解:
1)按照庞的第一句话的后半部分,我们肯定庞知道的和S肯定不会大于54。

因为如果和54恰好是53和a,那么孙知道的积M就是M=53*a,于是孙知道,这原来两个数中至少有
一个含有53这个因子,因为53是个素数。可是小于100,又有53这个因子的,只能是
53本身,所以孙就可以只凭这个积53*a推断出这两个数术53和a。所以如果庞知道的
S大于54的话,他就不敢排除两个数是53和a这种可能,也就不敢贸然说“但是我肯定
你也不知道这两个数是什么”这种话。

如果53+99
如果S=98+99,那么庞可以立刻判断出,这两个数只能是98和99,而且M只能是98*99,
孙也可以知道这两个术,所以显然不可能。

2)按照庞的第一句话的后半部分,我们还可以肯定庞知道的和S不可以表示为两个素数的和。

否则的话,如果鬼谷子选的两个数字恰好就是这两个素数,那么孙知道积M后,就可以得到唯一的素因子分解,判断出结果。于是庞还是不敢说“但是我肯定你也不知道这两个数是什么”这种话。

根据哥德巴赫猜想,任何大于4的偶数都可以表示为两个素数之和,对54以下的偶数,猜想肯定被验证过,所以S一定不能是偶数。

另外型为S=2+p的奇数,其中p是奇素数的那些S也同样要排除掉。

还有S=51也要排除掉,因为51=17+2*17。如果鬼谷子选的是(17,2*17),那么孙知道
的将是M=2*17*17,他对鬼谷子原来的两数的猜想只能是(17,2*17)。(为什么51要单独拿出来,要看下面的推理)

3)于是我们得到S必须在以下数中:
11 17 23 27 29 35 37 41 47 53

另外一方面,只要庞的S在上面这些数中,他就可以说“但是我肯定你也不知道这两个
数是什么”,因为这些数无论怎么拆成两数和,都至少有一个数是合数(必是一偶一
奇,如果偶的那个大于2,它就是合数,如果偶的那个等于2,我们上面的步骤已经保
证奇的那个是合数),也就是S只能拆成
a) S=2+a*b 或 b) S=a+2^n*b
这两个样子,其中a和b都是奇数,n>=1。
那么(下面我说的“至少两组数”中的两组数都不相同,而且的确存在(也就是那些
数都小于100)的理由我就不写了,根据条件很显然)
a)或者孙的M=2*a*b,孙就会在(2*a,b)和(2,a*b)至少两组数里拿不定主意(a和
b都是奇数,所以这两组数一定不同);
b)或者M=2^n*a*b,
如果n>1,那么孙就会在(2^(n-1)*a,2*b)和(2^n*a,b)至少两组数里拿不定主意;
如果n=1,而且a不等于b,那么孙就会在(2*a,b)和(2b,a)至少两组数里拿不定主
意;
如果n=1,而且a等于b,这意味着S=a+2*a=3a,所以S一定是3的倍数,我们只要
讨论S=27就可以了。27如果被拆成了S=9+18,那么孙拿到的M=9*18,他就会在
(9,18)和(27,6)至少两组数里拿不定主意。
(上面对51的讨论就是从这最后一种情况的讨论发现的,我不知道上面的论证是否
过分烦琐了,但是看看51这个“特例”,我怀疑严格的论证可能就得这么烦)

现在我们知道,当且仅当庞得到的和数S在
C={11, 17, 23, 27, 29, 35, 37, 41, 47, 53}
中,他才会说出“我虽然不能确定这两个数是什么,但是我肯定你也不知道这两个数
是什么”这句话

孙膑可以和我们得到同样的结论,他还比我们多知道那个M。

4)孙的话“我现在能够确定这两个数字了”表明,他把M分解成素因子后,然后组合成
关于鬼谷子的那两个数的若干个猜想中,有且仅有一个猜想的和在C中。否则的话,他
还是会在多个猜想之间拿不定主意。

庞涓听了孙的话也可以得到和我们一样的结论,他还比我们多知道那个S。

5)庞的话“我现在也知道这两个数字是什么了”表明,他把S拆成两数和后,也得到了
关于鬼谷子的那两个数的若干个猜想,但是在所有这些拆法中,只有一种满足4)里的
条件,否则他不会知道究竟是哪种情况,使得孙膑推断出那两个数来。

于是我们可以排除掉C中那些可以用两种方法表示为S=2^n+p的S,其中n>1,p为素数。
因为如果S=2^n1+p1=2^n2+p2,无论是(2^n1,p1)还是(2^n2,p2)这两种情况,孙膑都
可以由M=2^n1*p1或M=2^n2*p2来断定出正确的结果,因为由M得到的各种两数组合,
只有(2^n,p)这样的组合,两数和才是奇数,从而在C中,于是孙膑就可以宣布自己知道
了是怎么回事,可庞涓却还得为(2^n1,p1)还是(2^n2,p2)这两种情况犯愁。

因为11=4+7=8+3,23=4+19=16+7,27=4+23=16+11,35=4+31=16+19,37=8+29=32+5,
47=4+43=16+31。于是S的可能值只能在
17 29 41 53

myQQ::445750010
2008-06-12 13:21
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
这个题百度有三个证明,大多数网站也都是引用的这三个证明,似乎4,13成了无疑问的答案.
我可以负责任地告诉大家,那三个证明中的前两个都是不对的,第三个证明也只有前半部分正确.

myQQ::445750010
2008-06-12 13:43
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
好,我知道和,你知道积,现在我用反证法证明:

我得到两数和是29,因为它是奇数,所以不能分解为两个质数的和.所以我说,我肯定你不知道这两数是什么?

而且我还可以知道这两数是一奇一偶.

有问题吗

myQQ::445750010
2008-06-12 13:58
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
界水乘风你对这个推论有意见吗

myQQ::445750010
2008-06-12 14:02
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
51怎么了

myQQ::445750010
2008-06-12 15:18
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
只要知道X+Y的和是奇数,即使不知道X*Y是几,也可以确定对方不知道X,Y的值,?
(X,Y>1)
这不是很明显的吗

myQQ::445750010
2008-06-12 15:59
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
578有两个17吧,看清题.

myQQ::445750010
2008-06-12 16:29
快速回复:鬼谷子问徒
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022889 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved