Реализации алгоритмов/P-метод Полларда дискретного логарифмирования: различия между версиями
Содержимое удалено Содержимое добавлено
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
|||
Строка 2:
=== Модифицированный интерфейс mod ===
Это делать не нужно, но многие формулы после этого выглядят более естественно
<
def mod(a ,b):
'''
Строка 10:
'''
return a % b
</syntaxhighlight>
=== [[w:Расширенный алгоритм Евклида|Расширенный алгоритм Евклида]] ===
<
## ExtendedGCD
# *********************************************************
Строка 26:
d, x, y = d1, y1, x1 - (a/b)*y1
return d, x, y
</syntaxhighlight>
=== [[w:Функция Эйлера|Функция Эйлера]] ===
<
## EulerPhi
# *********************************************************
Строка 63:
# но число раз = 1
return n * res
</syntaxhighlight>
=== <math>\rho</math>-метод Полларда ===
<
## SOLVE
# *********************************************************
Строка 187:
return (False, x)
</syntaxhighlight>
=== Наивный Алгоритм ===
<
## PREMUTIVE_LOG
# *********************************************************
Строка 208:
</syntaxhighlight>
=== Проверка ===
<
## TEST
# *********************************************************
Строка 223:
print solve(g, a, m)
print premutive_log(g, a, m)
</syntaxhighlight>
{{BookCat}}
|