质因子分解(Pollard_Rho法)
Posted sapphirebitter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了质因子分解(Pollard_Rho法)相关的知识,希望对你有一定的参考价值。
LL Pollard_Rho(LL n, LL c) { LL x, y, d; LL i = 1, k = 2; x = y = rand() % n; do { i++; d = gcd(n + y - x, n); if(d > 1 && d < n) return d; if(i == k) { y = x; k <<= 1; } x = (mul_mod(x, x, n) + n - c) % n; } while(y != x); return n; } void rhoAll(LL n) { if(n <= 1) return; if(isPrime(n)) { fac.push_back(n); return; } LL t = n; while(t >= n) t = Pollard_Rho(n, rand() % (n-1) + 1); rhoAll(t); rhoAll(n/t); return; }
以上是关于质因子分解(Pollard_Rho法)的主要内容,如果未能解决你的问题,请参考以下文章
pollard_rho 学习总结 Miller_Rabbin 复习总结
大素数判断和素因子分解(miller-rabin,Pollard_rho算法)
大素数判断和素因子分解(miller-rabin,Pollard_rho算法) 玄学快