![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
SeregaR1Val |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Реальное имя: Серёга Репутация: ![]() ![]() ![]() |
В принципе реализация алгоритма понятна, проблемы с нахождением первообразного корня по модулю m
http://ru.wikipedia.org/wiki/Первообразный..._(теория_чисел) И понятия не имею как это запрограммировать, если можете, помогите пожалуйста. В методичке есть реализация на C++, а обучение на Delphi, поэтому непонятно вообще ... Реализация Функция powmod() выполняет бинарное возведение в степень по модулю, а функция generator (int p) - находит первообразный корень по простому модулю (факторизация числа здесь осуществлена простейшим алгоритмом за ). Чтобы адаптировать эту функцию для произвольных , достаточно добавить вычисление функции Эйлера в переменной phi. int powmod (int a, int b, int p) { Сообщение отредактировано: SeregaR1Val - 26.04.2010 20:15 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, а что именно непонятно? У тебя ж есть С++ ный код. Дословно это будет выглядеть так (если приведенный тобой код верен, конечно):
function generator(p: Cardinal): Integer; |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 11:01 |