有一道趣味数学题:一筐鸡蛋,若两个两个,或三个三个,或四个四个,或六个六个,或九个九个地拿,正好拿完;若五个五个,或七个七个,或八个八个,或十个十个地拿,则剩四个;若十一个十一个地拿,则少一个,这筐鸡蛋最少是多少个?
这题可以傻做。往筐装十个鸡蛋,两个两个往外拿,如果能拿完没剩就把所有拿出的鸡蛋放回去,接着三个三个拿,····。如果有剩或達不到余下的和不够的要求就往筐中加一个蛋从头来起。只要不怕烦,总会知道满足要求时的鸡蛋数目。只是别数糊涂和不小心把鸡蛋给砸了。
这是没学过算术的农村老大娘的做法,我们多少学过点算术不能这样做。昨天群里有人做,都有招数,但没有高招,有算到2000还没出结果。
也想凑热闹,又怕把自己算晕了。想写个程序用计算机来算,又怕人笑话。不算了。但指出要不想傻算就要找规律。根据题意指出三点:1。鸡蛋的个数S一定是36的整数倍;2。鸡蛋的个数S减去4以后一定是5*7*8=280的整数倍;3。鸡蛋的个数S加1以后一定能被11整除。还是要试算,只是减少了试算的次数。想到有人算到2000还没到头,又打退堂鼓了。
再次开始想是半夜醒来睡不着了。脑子里列了三个方程,有了解题思路。早起后完成。
S=k*4*9······(1)
S=m*(5*7*8)+4=4*(m*70+1)······(2)
S=n*11-1······(3)
S是鸡蛋数目,k,m和n是从1开始的自然数。式(1)满足S被2,3,4,6和9整除;式(2)式满足S被5,7,8和10整除后余4;式(3)满足S被11除缺1。由同时满足式(1),式(2)和式(3)的最小的k,m和n的组合可算出最小的S,即满足预设条件的筐中最少的鸡蛋数
结合式(1)和(2),得
k*4*9=4*(m*70+1)
化简后可求出同时满足条件(1)和(2)的所需的k和m的关系
k=(m*70+1)/9······(4)
m*70+1可表为由71开始,公差为70的等差数列
{m*70+1}={71,141,211,281,351,431,····)······(5)
能被9整除的多位数的各个数字和必须能被9整除,数列(5)中第一个可被9整除的数是351,对应的m=5。所有的能使k为整数的m组成初始值5,公差为9的等差数列,
{5+(m1-1)*9}={5,14,23,32,43,54,···}······(6)
m1是从1开始的自然数,
由数列(6)计算得k在从39开始的公差为70的等差数列
{39+(k1-1)*70}={39,109,179,249,319,···}······(7)
k1是从1开始的自然数。
再计算得S在从 1404开始的公差为70*36=2520的等差数列
{1404+(p-1)*2520}={1404,3924,6444,8964,11484,····}······(8)
p为从1开始的自然数。
还可能可以用式(1)和式(3)来缩小范围,但不很简单,不如直接依次把数列(8)的元素代入式(3)试算简单。
式(3)可化简为
n=(S+1)/11······式(9)
第一个满足n为整数的S即为答案。
用11除公差2520得到的商的整数部分和整除后的余数,公差2520可表为
2520=229*11+1······(10)
由此知{S}的相邻元素经过式(9)S}运算的小数部分之差为1/11。
因此最多试探11次就会到结果。
试算如下:
(1404+1)/11=127.7...
(3924+1)/11=356.8···
(6444+1)/11=585.9...
(8964+1)/11=815
通过4次试探就得到整数,8964就是满足所有条件的4最小数。
这种方法还有三次无用的试算,不是完全推理。进一步分析,上述满足条件1和2的数列的通项为
S=1404+(p-1)*2520·····(11)
代入式(9)
(1404+(p-1)*2520 +1)/11=整数······(12)
用11除1405所得的商的整除部分和整除后的余数可改写
1404+1=127*11+8 ·······(13)
把式(10)和式(13)代入式(12)化简后得
1404+(p-1)*2520+1=127+8/11+(p-1)*229+(p-1)/11+1/11······(14)
当8+p=n1*11,n1是从1开始的自然数,式(12)成立。
所以
p=n1*11-8
所以满足本题三个条件的筐中鸡蛋数为
S=(127+(n1*11-8)*229)*11+n1*11-1
或
{8964,36684,64404,92124,···}
而最少的鸡蛋数为8964。
结论:筐里的鸡蛋数为8964个。这么多鸡蛋大约900斤重,这个筐需要很大,还要足够结实。另外这么多鸡蛋,下面的鸡蛋可能都压碎了,大概没有人能完成这项艰巨任务。出题老师应该把鸡蛋换成爆米花和玻璃弹子这些小朋友喜欢的东西,他们做完题可吃可玩,兴趣会浓些。
到此已用推理试算法和推理运算法导出满足所有预设条件的筐中鸡蛋数为8964。
后记:前天做完但就是发不到微信,今天可以了。原来是做完题时没有想到昨天8964犯忌。
庸猫,2020年6月5日