尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Pollard Rho 分解质因数

Pollard Rho 分解质因数
📅 发布时间:2026/6/18 1:41:17

Miller_Rabin 判断素数

如果有 \(a^{p-1} \equiv 1(\bmod p)\) ,\(p\) 大概率为质数。但是人们发现有些合数无法被这个式子判掉。

有一个显然成立的式子:

\(x^2 \equiv 1 (\bmod p) \rightarrow x^2-1\equiv 0 \rightarrow (x-1)(x+1) \equiv 0\)​

当 \(p\) 是质数时,\(x\) 必定等于 \(\pm1\) ;但是如果 \(p\) 是合数,可能 \((x-1)\) 和 \((x + 1)\) 刚好就是 \(p\) 的两个因子。

当 p 是偶数并且不为 2 时,\(a^{p-1} - 1= (a^{\frac {p-1}2}-1)(a^{\frac {p-1}2} + 1)\),于是可以追加一则对 \(p\) 是否是素数的判定,就是如果分解出来的两个因式不为零,但是乘积为零,就证明 \(p\) 是合数。如果任何一个因式为零,就不得不认为 \(p\) 是素数。然后如果 \(\frac{p-1}2\) 还是偶数,就继续分解因式,然后用上述方式判定。

实现的时候,是先用 \(p\) 的二进制,快速找到能分解出来的最小的 \(a^{\frac{p-1}k}\) ,然后再一步一步乘上去验证。

多这一个步骤竟然可以大大提升判定准确度!并且只需要 \(2,7,61\) 这几个数字就可以判定 int 内数字,用 \(2, 325, 9375, 28178, 450775, 9780504, 1795265022\) 这些数字就可以 \(100\%\) 准确判定 long long 内的数字。


Pollard Rho分解最大质因数算法

Pollard Rho算法分解一个数n的过程大体上是这样子的:

  1. 找到一个 \(n\) 的因子 \(p\),将 n 分解为 p 与 n/p
  2. 如果p或n/p不为质数,将其带入递归上述过程
  3. 如果其是质数,将其记录并退出

找p的过程是这个样子:

  1. 找到一个数 \(p1\)
  2. 通过某种玄学推导手段找出一个与 \(p1\) 对应的 \(p2\)
  3. 如果 \(\gcd(\mid p1-p2\mid,n)\) 不是 1 或 n 时,此数为所求的 p

玄学推导手段:

\(p2 \equiv (p1^2 + c) \bmod n\)

其中c为随机常数。

出现循环了怎么办?换一个随机常数 c 再搞。

判环用 floyd判圈算法 搞定。

模板,例题

Floyd判圈算法

作用:

  1. 判断链表是否有环
  2. 计算环的长度
  3. 寻找环的起点

实现:

快慢指针:定义两个指针,慢指针(slow)每次前进一步,快指针(fast)每次前进两步,这里只要 fast 比 slow 前进的快即可,但前进步长太多代码会变慢,所以采用两倍于 slow 步长。

  1. 若无环,fast先走到终点;若有环,最终 slow 和 fast 相遇,且 fast 恰好比 slow 多走了一圈(每次fast与slow的相对位移为1,走完一圈,fast刚好多走一圈)
  2. 因此循环的结束条件为要么 fast 先跑到终点,要么 fast 追上 slow
  3. 初始化slow=head,fast=head.next,是因为如果fast初始化为head,那循环的第一个条件slow!=fast永远都不成立
    while (slow != fast && fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;}

相关新闻

  • [豪の学习笔记] 软考中级备考 基础复习#7
  • 十、微程序控制器是什么?
  • 2023CCPC秦皇岛站

最新新闻

  • 国内主流打包机厂家实测排行 适配电商物流多场景 - 起跑123
  • 终端(Terminal)通俗完整讲解
  • 车载雷达架构迭代|全网量产复盘 场景反向定义ODD边界、L2-L4全域硬件升级、分布式转集中架构迭代、多雷达时序融合、整车感知全套工程复现
  • Windows系统优化神器:3分钟让你的电脑焕然一新
  • 开源AI创作平台:如何用自由工具释放你的多模态创意潜力?
  • 揭秘魔方终极解法:Python Kociemba算法库完整指南

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号