简单的数学笔记
1.约数之和:
令 ,。
则大于 1 的正整数 可以表示为以下形式(质因数分解)。
此时 的所有约数之和为:
求值最坏时间复杂度约为 。
2.曼哈顿距离与切比雪夫距离的互化:
在平面上有点 ,,其曼哈顿距离为 。切比雪夫距离为 。
欲将曼哈顿距离于切比雪夫距离转换,可以考虑切比雪夫距离所在的平面旋转 45 度。
设原坐标为 则旋转后坐标为 。
将坐标有理化得 。
此时原坐标系中的两点的切比雪夫距离等于现在的坐标系中的曼哈顿距离除以 2。
3.Millar Robin判断素数
由费马小定理我们得知:对任意素数 和与其互质的整数 ,有 。
我们可以考虑,随机选取一小于 的整数 ,若 ,则可以证明
是素数。
但这种想法显然是错的。
那我们又考虑,如果多随机选取几个
的话能否提高正确率?
但仍旧存在极少的一些合数,即便遍历
的每一个数字作为底数,也无法筛去。
不难证明,这样的数的个数有无穷多个。
故单纯的费马小定理显然不行,我们现在来考虑如何减小错误概率。
引理一:对于质数 若 ,则小于 的解只有两个 。
这个定理有什么用呢?
由Fermat检测得到 ,且 为偶数,则 就相当于 。
将其拆分为 ,就可以用引理一来判断了。
如果 为奇数,我们就将 转化成 即可( 为奇数)。
接下来考虑代码的实现。
首先是底数的选取:Miller Rabin检测依旧有错误的概率。但通过选取适合的底数,可以避免这一情况的发生。
在long long范围内,选取 七个数作为底数可保证100%正确。
最坏时间复杂度约为 。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤