素数检验方法

一、费马小定理

如果 p 是一个素数,并且 a 是一个整数,满足 1<a<p,(即 a 与 p 互质)那么以下同余式成立:

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

二、费马素数检验

如果存在一个整数 a,使得

​​​​​​​ ​​​​​​​

那么 n 一定不是素数

三、Carmichael

费马素数检验最大的缺陷在于存在一种特殊的合数

最小的卡迈克尔数是 561=3×11×17

因此,费马检验无法将561识别为合数。

四、欧拉准则

这里要用到先前文章(二次同余式和平方剩余)的勒让德符号

如果 p 是一个奇素数,并且 a 是一个与 p 互质的整数(即 gcd⁡(a,p)=1),那么

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

结果为1, a 是模 p 的二次剩余 ;结果为-1,a 是模 p 的二次非剩余

五、欧拉拟素数检验

这个方法能够检测Carmichael!!!

六、Miller-Rabin强拟素数检验

这是目前最强大、最广泛使用的概率性素数检验算法

具体操作步骤可以参考: https://www.bilibili.com/video/BV1T44y1Z7Gx

相关推荐
复杂网络15 分钟前
Stable Diffusion 视觉大模型微调技术深度调研
算法
复杂网络18 分钟前
基于 Stable Diffusion 架构的视觉大模型代表性工作与原理深度解析
算法
MrZhao40025 分钟前
Agent Loop 如何用 Hook 扩展:权限、日志与工具拦截
算法
MrZhao40029 分钟前
Agent 为什么需要 Skills:别把所有知识都塞进 system prompt
算法
JieE2121 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2122 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack203 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
小小杨树3 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
JieE2123 天前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE2123 天前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法