我也列个我以前做的版本:
我也来个题目:
老师从2-40里挑两个整数,把他们的和告诉甲,积告诉乙,并且告诉两个人积不大于200。甲跟乙说:你肯定不知道我手里的数。乙说:我现在知道了。甲说:我也知道你的数了。 问,两个数各是多少?
现在我还没有很完美的解法,答案是13、4,但是我是用比较恐怖的枚举做的,不知道其他人有没有简单些的。
所谓“比较恐怖的枚举”意思就是我自己用vb写了个小程序枚举了一下(暴汗),下面列了一个不完整的过程(没写完就有事情,后来没继续)
两数和为奇数,且减2为合数;乙能猜出来说明偶数为2*n的形式,奇数为质数;甲也能猜出来,说明满足上条件的组合只有一个;(4,13)满足,类似的还有(16,13),但积大于200了。
而本程序是试验了里面:两数和为偶数的情况,用枚举法证明里面一定有一对和可以拆成两个质数。(如果一定可以,则说明乙有可能猜到。则说明不对)
我们称两个数如果符合都在2~40范围内,而且乘积小于400,这样的一组数称为“符合基本要求的数”
甲只知道和,他能肯定的说出第一句话,说明那个和不能被拆成两个符合基本要求的质数,因为这样乙就能猜到了。
那么如果两数和是偶数,那我们来分析一下,那组和里面不出现两个质数的情况,我用程序简单枚举了一下,以下是和从6~44范围内(超过44不能被拆成符合基本要求的数)拆开为两个质数的情况:
6=3+3
8=3+5
10=3+7,10=5+5
12=5+7
14=3+11,14=7+7
16=3+13,16=5+11
18=5+13,18=7+11
20=3+17,20=7+13
22=3+19,22=5+17,22=11+11
24=5+19,24=7+17,24=11+13
26=3+23,26=7+19,26=13+13
28=5+23,28=11+17
30=7+23
32=3+29
34=3+31,34=5+29
36=5+31
40=3+37
42=5+37
而其中没有两个质数情况下的38和44,拆成符合基本要求的只能是:
38=3+35,38=5+33
和
44=5+39
前者第二次仍无法猜到是哪个。而后者只有一个,甲可以直接猜到(而不是第二次才猜到)。
所以甲看到的和只可能是奇数,
那这个和如果分解为2+x的形式,这个x就肯定是合数(不然又变成了两个质数和)
而在5~79范围内的合数有:
9,15,21,25,27,33,35,39,45,49,51,55,57,63,65,69,75
也就是说两个数的和只可能是:
11,17,23,27,29,35,37,41,47,51,53,57,59,65,67,71,77
………………
……………………
(没完)
|