算法之我见 [数论之旅] Pollard Rho因数分解
Posted 哇咔咔咔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法之我见 [数论之旅] Pollard Rho因数分解相关的知识,希望对你有一定的参考价值。
算法代码:
#include "stdio.h" #include "conio.h" main() { int n,i; printf("\nplease input a number:\n"); scanf("%d",&n); printf("%d=",n); for(i=2;i<=n;i++) while(n!=i) { if(n%i==0) { printf("%d*",i); n=n/i; } else break; } printf("%d",n); }
算法的正确性:
尽管我们测试的i没有保证是质数,但输出的i一定是质数。这是因为任何一个数的质因数比它本身小,测试完较小的数之后,比如假设n%i(i==4)==0进入了输出环节,但实际上i=2的循环已经做完了,此时n%4不可能等于0.多试几次你就理解了。
以上是关于算法之我见 [数论之旅] Pollard Rho因数分解的主要内容,如果未能解决你的问题,请参考以下文章
数论入门2——gcd,lcm,exGCD,欧拉定理,乘法逆元,(ex)CRT,(ex)BSGS,(ex)Lucas,原根,Miller-Rabin,Pollard-Rho
@总结 - 10@ Miller-Rabin素性测试与Pollard-Rho因数分解