除数计数函数上界探究:是否存在常数C使d(n)≤(ln(n))^C
你这个猜想完全正确——确实不存在这样的常数C。我来给你梳理几个关键的证明思路,帮你把反证法走通:
构造极端案例:素数阶乘
取n为前k个素数的乘积(也就是素数阶乘,记为$p_1p_2…p_k$,其中$p_i$是第i个素数)。对于这个n,它的除数个数$d(n)=2^k$,因为每个素数的指数都是1,每个素数都有“选”或“不选”两种情况,总共有2的k次方个除数。
接下来看$\ln n$:$\ln(n)=\ln(p_1p_2…p_k)=\sum_{i=1}^k \ln p_i$。根据素数定理的推论,前k个素数的对数和近似于$k \ln k$(当k趋向无穷大时,$\sum_{i=1}^k \ln p_i \sim k \ln k$)。
现在对比$d(n)$和$(\ln n)C$:$d(n)=2k=e^{k \ln2}$,而$(\ln n)^C \approx (k \ln k)C=e{C(\ln k + \ln\ln k)}$。显然,当k足够大时,$k \ln2$的增长速度远远超过$C(\ln k + \ln\ln k)$——指数函数的增长碾压多项式级的增长。不管你取多大的C,只要k足够大,$2^k$就会超过$(k \ln k)^C$,也就是$d(n)>(\ln n)^C$,直接和假设矛盾。从除数函数的极值本质入手
对于n的素因子分解$n=\prod p_i^{a_i}$,除数函数$d(n)=\prod(a_i+1)$。要让$d(n)$相对于$\ln n$尽可能大,最优策略是用尽可能多的不同小素数相乘:小素数的对数小,所以$\ln n$增长得慢,但每多一个素数,$d(n)$就翻一倍(因为每个新素数贡献因子2)。这种情况下,$d(n)$是指数级增长,而$\ln n$是多项式级增长(和$k \ln k$成正比),两者的差距会越来越大,任何固定的C都不可能把$d(n)$框在$(\ln n)^C$里面。反证法的完整逻辑链
假设存在常数$C>0$,使得对所有正整数n,$d(n)≤(\ln n)^C$。
取n为前k个素数的乘积,那么$d(n)=2^k$,且$\ln n \sim k \ln k$($k→∞$)。
当k足够大时,必然有$2^k > (k \ln k)^C$(因为左边是指数增长,右边是多项式增长),即$d(n)>(\ln n)^C$,这与我们的假设矛盾。
因此,不存在这样的常数C。
内容的提问来源于stack exchange,提问作者lkjhgfdsa

