一个数的质因子个数的粗略近似
2021/9/24 23:13:45
本文主要是介绍一个数的质因子个数的粗略近似,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
设 \(n\) 的质因子个数为 \(k\) , \(n=p_1^{\alpha_1}p_2^{\alpha_2}\dots p_k^{\alpha_k}\)
则当每个质数都只有一次时能使 \(k\) 最大时 \(n\) 最小。
所以设 \(2\times 3\times 5\times 7\dots=n\),
即设 \(n\) 为前 \(k\) 个质数的前缀积。
而前 \(k\) 个质数的前缀积远大于 \(k!\)
只需求出 \(k!=n\) 的近似值。
由斯特灵公式 得 \(k!\approx \sqrt{2\pi k}\left(\dfrac{k}{e}\right)^k\)
而前面的 \(\sqrt {2\pi k}\) 乘上后得出的 \(k\) 值又远小于真实 \(k\) 值
所以只需令 \(\left(\dfrac{k}{e}\right)^k=n\)
先取对数得到: \(k\ln \dfrac{k}{e}=\ln n\)
两边除 \(e\) 得: \(\dfrac{k}{e}\ln{\dfrac{k}{e}}=\dfrac{\ln n}{e}\)
即: \(\ln\frac{k}{e}\times e^{\ln\frac{k}{e}}=\dfrac{\ln n}{e}\)
由\(\text{Lambert W Function}\) 可得出 \(\ln\dfrac{k}{e}=\operatorname{W}(\dfrac{\ln n}{e})\)
所以有:\(k=\exp\left(1+\operatorname{W}(\dfrac{\ln n}{e})\right)\)
又由于 \(\operatorname W(n)=O(\ln n-\ln \ln n)\)
并且 \(\ln\dfrac{\ln n}{e}=\ln \ln n-1\)
所以 \(k=\exp(1+\ln \ln n-1+\ln (\ln \ln n-1))\)
化简得到 \(k=\dfrac{\ln n}{\ln \ln n-1}\)
所以一个数的质因子个数的一个极其粗略的近似为 \(O(\dfrac{\ln n}{\ln\ln n})\)
这篇关于一个数的质因子个数的粗略近似的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)