有5只猴子在海边发现一堆桃子,决定第二天来平分.第二天清晨,第一只猴子最早来到,它左分右分分不开,就朝海里扔了一只,恰好可以分成5份,它拿上自己的一份走了.第 2,3,4,5只猴子也遇到同样的问题,采用了同样的方法,都是扔掉一只后,恰好可以分成5份.问这堆桃子至少有1只?
最简单的思路为:求(4+n)/(5^5)的最小整数解时,n的值。
借4个桃子给猴子,那么第1、2、3、4、5个猴子看见的桃子数量都是5的整数倍。
第1个猴子先丢掉一个,可以看成是它从自己那一份((n+4)/5)中拿的,它拿走自己的那一份后走了,剩余的(n+4)*4给了第2的猴子。第二个猴子丢掉一个(也可能看成是从自己那一份中拿的,多出来了4个吗),被5整除…其他猴子看见的也一样。那么只需要保证(n+4)每次都被5整除。即(n+4)/(5^5)为整数。那么就是求其最小整数时,n的取值。即3121。
常规思路
设有n个桃子
n=5k1+1
4k1=5k2+1
4k2=5k3+1
4k3=5k4+1
4k4=5k5+1
k1=5/4k2+1/4
=5/4[5/4k3+1/4]+1/4=(5/4)^2k3+9/16
=(5/4)^2[5/4K4+1/4)+9/16
=(5/4)^3k4+61/64
=(5/4)^3[(5/4)k5+1/4]+61/64
=(5/4)4k5+125/256+244/256=(5/4)4k5+369/256
n=5k1+1
=5*(5/4)^4k5+5369/256+1
=5^5/256k5+5366/256+1
=[5^5k5+5369+256]/256
n是整数。需5^4k5+369是256的倍数即625k5+369=256k
625k5=256k-369=256(k+1)-625
k+1必须是625的倍数,令k+1=625
得625k5=255625
k5=255,625k5+369=256k=256624
n=5*[625k5+369+256]/256=[5256624+256]/256=5*624+1=3121堆桃子至少有 3121只
递推思路:
假设取完i次时,桃子数量为A[i],初始为A[0];
得到递推公式 A[i+1] = (A[i] - 1) * 4 / 5;
5 *A[i+1] = (A[i] - 1) * 4; ①
求通项公式;
先构造辅助数列 B[i+1] = B[i] * 4 / 5;
令B[i] = A[i] + x; ②
将②式带入①式,求得 x = 4;
得B[i] = A[i] + 4;
易得 B[i] = B[0] * ( 4 / 5) ^ i ;
当i<=5时,由于A[i]均为整数, B[i]也均为整数。
B[5] = B[0] * 256 / 3125;
可得B[0]最小值为3125;
A[0]最小值 = B[0] - 4 = 3121;
可得答案即为3121。