什么是bender's分解算法

来源:百度知道 编辑:UC知道 时间:2024/05/21 05:37:28

1.素数表,从小到大去试除,一直到当前质数的平方大于试除后剩下的数.
这样优化后的效率会比较高,至少在long int范围内.
正好刚写的:
for (kindp = 0, i = 0; prime[i] * prime[i] <= y; i ++)
if (y % prime[i] == 0)
{ pp[kindp] = prime[i];
ep[kindp] = 0;/*当前质因数的次数*/
while (y % prime[i] == 0)
{
y /= prime[i];
ep[kindp]++;
}
kindp++;
}
if (y != 1)/*处理最大的一个质数*/
{
kindp++;
ep[kindp]=1;
pp[kindp]=y;
}
下面的是更先进一点的方法,但是要求不高的时候用第一种比较好.
2.Pollard's rho method
3.Pollard's p - 1 method
4.Lenstra's elliptic curve factorization method
5.The quadratic sieve factorization method