第4题是一道数论题:
求所有正整数对(k,n)
使得 k!=(2^n -1)(2^n-2)(2^n - 4)...(2^n - 2^(n-1));
这道题初看比较难,猜测这样的(k,n)很有可能是有限个,如此就给证明了一个思路,能否缩小
满足条件的(k,n)的范围,比如k<=... 或者 n<=... 什么,之后只需一个个验证就好,这种思路在
解决一些数论方面的数学难题时数学家也经常用,就是如果无法一下子得到所有解,就寄希望于
缩小解的范围,以这个为指导思想的话,这道题并不难,下面给出如下解题思路:
首先,化简一下右边:
右边= (2^n-1)* 2 * ((2^(n-1)-1)* 2^2 * (2^(n-2)-1)... 2^(n-1) * (2-1)
=2^((n-1)*n/2) * ((2-1) * (2^2 - 1) ... (2^n-1))
不妨设 f(n)=2^((n-1)*n/2) T(n)=(2-1) * (2^2 - 1) *... *(2^n-1)
可以看到f(n)只含有因子2, 而T(n)是奇数,
这意味着 ,k!包含的2的次幂必然等于 n*(n-1)/2,
但是k!=1 * 2 * 3 *... * k, 它包含的2的次幂是多少?
我们设函数V2(x)表示x包含的2的次幂数,则有
V2(k!)=[k/2]+[k/4]+[k/8]+... (其中[x]表示对x向下取整得到的数字,比如[7.3]=7 ,[8]=8,
这个数列延伸至无穷,但是某项之后全是0)
为什么k!中包含的2的次幂等于这么多? ,这是因为
123...k中,2的倍数有 [k/2]个, 2^2的倍数有[k/4]个,以此类推
比如拿数字8*3=24来说 ,含有2^3次方 ,那么再[k/2]中它出现一次,[k/4]中出现一次,[k/8]中
也出现一次,刚好3次,就是它包含2的次幂数,
据此思路,略去严格证明可以看出成立。
所以根据原方程得到: [k/2]+[k/4]+[k/8]+...=n*(n-1)/2
而左边天然就包含着一个不等式关系,就是[k/2]+[k/4]+[k/8]+...<=k/2+k/4+k/8+...=k
所以,得到 : n*(n-1)/2<=k (1)
这样我们就可以根据(1)来把原方程转化为一个不等式了,
有: k!=f(n)T(n)>=(n(n-1)/2)!
显然有:T(n)<=2 * 2^2 * 2^3 *... * 2^n = 2^((1+n) * n/2)
所以,得到 2^((n-1)n/2) * 2^((1+n)n/2)>=(n(n-1)/2)!
=> 2^ (n^2) >= (n(n-1)/2)! (2)
因为阶乘函数增长快于指数函数,而 n^2和n*(n-1)/2同阶, 所以右边增长比左边快; 把n=4代入,得到 65536>720 可见,很快就找到了x=6 因此n<6; 因此我们只需要对 n=1,2,3,4,5验证是否存在对应k!即可 n=1时,右边=1 ,左边 有解 k=1, 因此(1,1)是一个解 综上,我们得到原问题的解就是 (1,1)和(3,2)
当n=1时 2>1
n=2时, 16>1
n=3时, 512>6
可见n比较小时,左边大于右边,因此必然n到某个值x之后,右边超过左边,
那么根据(2) 有 n
n=5, 得到 33554432>3628800
n=6, 得到 68719476736<1307674368000
n=2时, 右边=6 , 有解 k=3 ,因此 (3,2)是一个解
n=3时, 右边=7 * 6 * 4=2 * 3 * 4 * 7,显然不是阶乘数
n=4时 ,右边=15 * 14 * 12 * 8=2 * 3 * 4 * 5 * 6 * 7* 4显然也不是阶乘数
n=5时 ,右边=31 * 30 * 28 * 24 * 16 含有素因子31,则k!>=31!>31 * 30 * 28 * 24 * 16,无解