首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于pollard-rho算法的疑义

2013-10-01 
关于pollard-rho算法的疑问int pollard_rho(int n, int c){int x, y, d, i 1, k 2x rand() % (n -

关于pollard-rho算法的疑问

int pollard_rho(int n, int c)
{
int x, y, d, i = 1, k = 2;
x = rand() % (n - 1) + 1;
y = x;
while (true) {
++i;
x = (modular_multi(x, x, n) + c) % n;
d = gcd(y - x, n);
if (1 < d && d < n)
return d;
if (x == y)
return n;
if (i == k)
y = x, k <<= 1;
}
}

这段代码与算法导论上的伪代码大致相同,请问第8、9行是什么意思?怎么来的 pollard-rho
[解决办法]
调用API接口呗!
返回值分别赋值给x,y 
[解决办法]
modular_multi(x,y,n) =(x*y %n)//* , %数学意义上的乘法,和求余,不是计算机上的.

gcd                           //数学意义上的最大公约数.
 

热点排行