• 关于因数个数的估计


    根据知乎提问:n的正因子个数d(n)有没有上界公式? 的某一篇回答:

    依次进行正因子个数的上界估计。


    根据常规 64 位 C++ 编译器,已定义好的最大可处理数字为无符号 128 位数。

    \(\lg 2^{128}={128\ln 2\over \ln 10}=38.531839444989586\) 得到,数字大小最大为 \(10^{38}\) 数量级。

    代入该公式,设 \(f=1.0660186782978\) ,则 \(d(n)\leq n^{f\over \ln\ln n}\)

    根据因子成对出现的性质,显然有 \(d(n)=O(n^{1\over 2})\)

    故接下来对能覆盖到 \(10^38\) 范围内的数字,因子数量复杂度低于该数量级的数字进行讨论。

    若使得因子数量复杂度为 \(O(n^{1\over a})\) 级别,则 \({1\over a}={f\over \ln\ln n}\) 得到 \(n=\exp(\exp(af))\)

    \(2^{128}\) 范围内的数字大小,只要求解 \(a\leq {\ln \ln n\over f}=4.207728658657603\) 范围内的数即可。


    根据上文分析,写出 Python 代码打表得到:

    from math import exp, log, ceil
    a = [i/10 for i in range(21, 51)]
    f = 1.0660186782978
    n = [exp(exp(aa*f)) for aa in a]
    n = [ceil(e) for e in n]
    

    因数据过大,对数据进行了一定的处理。打表结果如下:

    \(a\) \(n\) 的近似值(精确到 \(1\) 位有效数字)
    \(2.1\) \(1.2\times 10^{4}\)
    \(2.2\) \(3.5\times 10^{4}\)
    \(2.3\) \(1.2\times 10^{5}\)
    \(2.4\) \(4.1\times 10^{5}\)
    \(2.5\) \(1.8\times 10^{6}\)
    \(2.6\) \(8.8\times 10^{6}\)
    \(2.7\) \(5.3\times 10^{7}\)
    \(2.8\) \(4.0\times 10^{8}\)
    \(2.9\) \(3.7\times 10^{9}\)
    \(3.0\) \(4.4\times 10^{10}\)
    \(3.1\) \(6.8\times 10^{11}\)
    \(3.2\) \(1.5\times 10^{13}\)
    \(3.3\) \(4.4\times 10^{14}\)
    \(3.4\) \(2.0\times 10^{16}\)
    \(3.5\) \(1.4\times 10^{18}\)
    \(3.6\) \(1.5\times 10^{20}\)
    \(3.7\) \(2.7\times 10^{22}\)
    \(3.8\) \(8.9\times 10^{24}\)
    \(3.9\) \(5.7\times 10^{27}\)
    \(4.0\) \(7.6\times 10^{30}\)
    \(4.1\) \(2.3\times 10^{34}\)
    \(4.2\) \(1.7\times 10^{38}\)
    \(4.3\) \(3.3\times 10^{42}\)
    \(4.4\) \(2.0\times 10^{47}\)
    \(4.5\) \(4.2\times 10^{52}\)
    \(4.6\) \(3.5\times 10^{58}\)
    \(4.7\) \(1.4\times 10^{65}\)
    \(4.8\) \(2.8\times 10^{72}\)
    \(4.9\) \(4.0\times 10^{80}\)
    \(5.0\) \(4.7\times 10^{89}\)
  • 相关阅读:
    MS SQL执行大脚本文件时,提示“未能完成操作,存储空间不足,无法处理此命令”的解决办法
    一、Flux 是什么?
    for...in for..of
    循环总结
    javascript中几种this指向问题
    redux
    布局方式
    js获取前几个月的具体日期
    动态引入js文件
    获取页面url信息
  • 原文地址:https://www.cnblogs.com/JustinRochester/p/16066569.html
Copyright © 2020-2023  润新知