Реализации алгоритмов/P-метод Полларда дискретного логарифмирования: различия между версиями

Содержимое удалено Содержимое добавлено
→‎Python: Исправление ошибок
Строка 114:
x1 = mod(a * x1, p)
a1 = a1
b1 = mod(b1 + 1, pn)
ifelif( x1 >= p/3 and x1 < 2*p/3):
 
 
if( x1 >= p/3 and x1 < 2*p/3):
x1 = mod(x1 * x1, p)
a1 = mod(2 * a1, pn)
b1 = mod(2 * b1, pn)
ifelse: # (x1 >= 2*p/3):
 
if(x1 >= 2*p/3):
x1 = mod(g * x1, p)
a1 = mod(a1 + 1, pn)
b1 = b1
 
Строка 138 ⟶ 135 :
x2 = mod(a * x2, p)
a2 = a2
b2 = mod(b2 + 1, pn)
ifelif( x2x1 >= p/3 and x2x1 < 2*p/3):
 
 
if( x2 >= p/3 and x2 < 2*p/3):
x2 = mod(x2 * x2, p)
a2 = mod(2 * a2, pn)
b2 = mod(2 * b2, pn)
ifelse: # (x2x1 >= 2*p/3):
 
if(x2 >= 2*p/3):
x2 = mod(g * x2, p)
a2 = mod(a2 + 1, pn)
b2 = b2