俺会心理网

 找回密码
 立即注册

扫一扫,访问微社区

查看: 2608|回复: 6

[互动] 鬼谷子的问题[ 数学]

  [复制链接]
发表于 2011-12-2 13:09:37 | 显示全部楼层 |阅读模式
我什么都不想说~~只想····哈·哈·哈·哈··~!!
:
鬼谷子的问题

  据说孙膑、庞涓都是鬼谷子的徒弟。
  一天鬼谷子出了一道题目:他从2到99中选出两个不同的整数,把积告诉孙膑,把和告诉庞涓。
  庞涓对孙膑说:“我虽然不能确定这两个数是什么,但是我肯定你也不知道这两个数是什么。”
  孙膑对庞涓说:“我本来的确不知道,但是听你这么一说,我现在能够确定这两个数了。”
  庞涓对孙膑说:“既然你这么说,我现在也知道这两个数是什么了。”
  问这两个数是什么?为什么?

  还有,想要算的话···别完全用你的大脑···会很累的···编个小程序。
 楼主| 发表于 2011-12-2 13:47:08 | 显示全部楼层
呵呵~~我还没做出来呢! ops:  :  ops:

下面这个是别人写的程序····
#include "stdio.h"

void main(){
int i,j,val,k,p,flag;
static int jiajia[200];
static int chenchen[10000];
static int newchenchen[10000];
static int number[100][100];
for(i=2;i<100;i++)
  for(j=i+1;j<100;j++){
    jiajia[i+j]++;
    chenchen[i*j]++;
  }
for(i=2;i<100;i++)
  for(j=0;j<100;j++)
   if(i==j||j==1||i==1||i<j)
    number[j]=1;
val=0;
for(i=2;i<100;i++)
  for(j=2;j<100;j++)
   if(number[j]==0)
    val++;
printf("%d\n",val);//99*98/2=4851

//我也不知道
for(i=2;i<100;i++)
  for(j=2;j<100;j++)
   if(jiajia[i+j]==1)
    number[j]=1;
val=0;
for(i=2;i<100;i++)
  for(j=2;j<100;j++)
   if(number[j]==0)
    val++;
printf("%d\n",val);//去掉了9个

//你也一定不知道
for(i=2;i<100;i++)
  for(j=2;j<100;j++)
   if(jiajia[i+j]>1){
    flag=0;
    for(k=2;k<(i+j);k++){
     p=i+j-k;
     if(k>=p)
      break;
     else{
      if(chenchen[k*p]<=1){
       flag=1;
       break;
      }
     }
    }
    if(flag==1)
     number[j]=1;
   }
  for(i=2;i<100;i++)
  for(j=2;j<100;j++)
   if(chenchen[i+j]>1){
    flag=0;
    for(k=2;k<(i+j);k++){
     p=i+j-k;
     if(k>=p)
      break;
     else{
      if(jiajia[k*p]<=1){
       flag=1;
       break;
      }
     }
    }
    if(flag==1)
     number[j]=1;
   }
val=0;
for(i=2;i<100;i++)
  for(j=2;j<100;j++)
   if(number[j]==0)
    val++;
printf("%d\n",val);

for(i=2;i<100;i++)
  for(j=2;j<100;j++)
   if(number[j]!=1)
    printf("%d\t%d\t%d\t%d\t\n",i,j,i+j,i*j);
//for(i=0;i<10000;i++)
// if(chenchen!=0)
//  printf("%d\t%d\n",i,chenchen);
}
 楼主| 发表于 2011-12-2 13:47:21 | 显示全部楼层
原题:一天,鬼谷子随意从2-99中选取了两个数。他把这两个数的和告诉了庞涓,把这两个数的乘积告诉了孙膑。但孙膑和庞涓彼此不知到对方得到的数。第二天,庞涓很有自信的对孙膑说:虽然我不知到这两个数是什麽,但我知道你一定也不知道。随后,孙膑说:我知道了。庞涓说:我也知道了。请问:这两个数是什麽?


一、 解读"庞涓很有自信的对孙膑说:虽然我不知到这两个数是什麽,但我知道你一定也不知道。"
这说明通过A的所有"鬼谷和拆分"中两个数的乘积都不能知道(X,Y)。
先给出乘积在以下两种情况时就能通过乘积直接知道两个乘数。
结论1、C=D*E,D,E均为素数,这时通过乘积就能知道两个乘数肯定为D,E。
结论2、C=D*E,E为>=53的素数,因为C为2-99之间的两个数的乘积,而E为>=53的素数,所以这两个乘数之一肯定是E,另一个就为D。
下面从分析A的值入手,
(1) A不能为197(99+98),这是2-99之间最大的两个数,孙膑当然能通过B知道这两个数是98、99;
(2) 197>A >=99不能成立,如果A>=99,那么A的一个"鬼谷和拆分"为m+97=A,根据结论2,孙膑就能知道(X,Y)分别为97和B/97;
(3) 99>A >=55不能成立,如果99>A >=55,那么A的一个"鬼谷和拆分"为m+53=A,根据结论2,孙膑就能知道(X,Y)分别为53和B/53;
(4) A不能为<55的偶数,因为任一偶数都能拆成两个素数之和(这是哥德巴赫猜想的结论,虽然哥德巴赫猜想还没有被证明,但在<55的范围内可以一一试出来),根据结论1,孙膑就能知道(X,Y)就是这两个素数;
(5) A不能为5、7、9、13、19、21、25、31、33、39、43、45、49,因为这些数都能拆成2和另一素数之和,根据结论1,孙膑就能知道(X,Y)就是这两个素数
这样我们只需分别讨论A为11、17、23、27、29、35、37、41、47、51、53这11种情况,也就是说只有A为这11个数之一时,才能"庞涓很有自信的对孙膑说:虽然我不知到这两个数是什麽,但我知道你一定也不知道。"



二、 继续解读"随后,孙膑说:我知道了。"
(1) A=11时,它的"鬼谷和拆分"有(2,9)、(3,8)、(4,7)、(5,6),B只可能为18、24、28、30。
如果B=18,它的"鬼谷积拆分"有(2,9)、(3,6),根据庞涓说的第一句话,(X,Y)不可能是(3,6),孙膑就能知道(X,Y)是(2,9);
如果B=24,它的"鬼谷积拆分"有(2,12)、(3,8)、(4,6),根据庞涓说的第一句话,(X,Y)不可能是(2,12)和(4,6),孙膑就能知道(X,Y)是(3,8);
28和30不再讨论。
(2) A=17时,它的"鬼谷和拆分"有(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)、(8,9),B只可能为30、42、52、60、66、70、72。
如果B=30,它的"鬼谷积拆分"有(2,15)、(3,10)、(5,6),根据庞涓说的第一句话,(X,Y)不可能是3、10,但是孙膑不能知道(X,Y)是(2,15)还是(5,6);
如果B=42,它的"鬼谷积拆分"有(2,21)、(3,14)、(6,7),根据庞涓说的第一句话,(X,Y)不可能是(6,7),但是孙膑不能知道(X,Y)是(2,21)还是(3,14);
如果B=52,它的"鬼谷积拆分"有(2,26)、(4,13),根据庞涓说的第一句话,(X,Y)不可能是(2,26),孙膑就能知道(X,Y)是(4,13);
如果B=66,它的"鬼谷积拆分"有(2,33)、(3,22)、(6,11),根据庞涓说的第一句话,(X,Y)不可能是(3,22),但是孙膑不能知道(X,Y)是(2,33)还是(6,11);
如果B=70,它的"鬼谷积拆分"有(2,35)、(5,14)、(7,10),根据庞涓说的第一句话,(X,Y)不可能是(5,14),但是孙膑不能知道(X,Y)是(2,35)还是(7,10);
如果B=72,它的"鬼谷积拆分"有(2,36)、(3,24)、(4,18)、(6,12)、(8,9),根据庞涓说的第一句话,(X,Y)不可能是(2,36)、(4,18)、(6,12),但是孙膑不能知道(X,Y)是(3,24)还是(8,9)。
只有B=52时才能知道(X,Y)



(3) A=23时,它的"鬼谷和拆分"有(4,19)、(7,16)等,B可能为76、112等。
如果B=76,它的"鬼谷积拆分"有(2,38)、(4,19),根据庞涓说的第一句话,(X,Y)不可能是(2,38),孙膑就能知道(X,Y)是(4,19);
如果B=112,它的"鬼谷积拆分"有(2,56)、(4,28)、(7,16)、(8,14),根据庞涓说的第一句话,(X,Y)不可能是(2,56)、(4,28)、(8,14),孙膑就能知道(X,Y)是(7,16);
(4) 在A为27、29、35、37、41、47、51、53时,都至少有两个"鬼谷和拆分"使得孙膑根据B知道(X,Y),这里不再详细讨论,只列出孙膑能确定(X,Y)的A的两个"鬼谷和拆分"。
A=27时,B=50时能确定(X,Y)为(2,25),B=92时能确定(X,Y)为(4,23)。(2,25)、(4,23)是A的"鬼谷和拆分";
A=29时,B=54时能确定(X,Y)为(2,27),B=168时能确定(X,Y)为(8,21)。(2,27)、(8,21)是A的"鬼谷和拆分";
A=35时,B=96时能确定(X,Y)为(3,32),B=304时能确定(X,Y)为(16,19)。(3,32)、(16,19)是A的"鬼谷和拆分";
A=37时,B=232时能确定(X,Y)为(8,29),B=160时能确定(X,Y)为(5,32)。(8,29)、(5,32)是A的"鬼谷和拆分";
A=41时,B=128时能确定(X,Y)为(4,37),B=288时能确定(X,Y)为(9,32)。(4,37)、(9,32)是A的"鬼谷和拆分";
A=47时,B=172时能确定(X,Y)为(4,43),B=496时能确定(X,Y)为(16,31)。(4,43)、(16,31)是A的"鬼谷和拆分";
A=51时,B=188时能确定(X,Y)为(4,47),B=608时能确定(X,Y)为(19,32)。(4,47)、(19,32)是A的"鬼谷和拆分";
A=53时,B=592时能确定(X,Y)为(16,37),B=672时能确定(X,Y)为(21,32)。(16,37)、(21,32)是A的"鬼谷和拆分";




三、 再解读"庞涓说:我也知道了。"
通过上面二的分析,只有在A=17时,庞涓才能唯一确定(X,Y)是什么,即(X,Y)=(4,13)
发表于 2012-1-25 17:46:54 | 显示全部楼层
沙发,板凳都没偶的份了。
发表于 2012-4-4 00:00:02 | 显示全部楼层
谢谢分享哈
发表于 2012-4-11 11:35:51 | 显示全部楼层
希望大家踊跃发言,我顶先
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


QQ|Archiver|手机版|小黑屋|俺会心理网 ( 皖ICP备14007449号-5  

GMT+8, 2024-5-7 12:44 , Processed in 1.186782 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表