Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
sshasshok
0 / 0 / 0
Регистрация: 10.06.2011
Сообщений: 1
#1

Метод факторизации Полларда (p-1)

14.06.2011, 00:58. Просмотров 1397. Ответов 1
Метки нет (Все метки)

Весь форум облазил но не нашёл, пришлось зарегаться.

Очень нужно реализовать в Pascal ABC метод факторизации Полларда (p-1) по данному алгоритму:

1. Генерируем любое число a в диапазоне от 2 до n - 1
2. Берем начальное значение e = 1
3. Увеличиваем значение exp на единицу
4. Вычисляем x = a^e mod n
5.Проверяем, имеют ли x - 1 и n наибольший общий делитель
6. Если на предыдущем шаге было получено значение 1, то возращаемся на п. 3
7. Выводим значение полученное в п. 5 в качестве результата

Никак не получается до ума довести, помогите пожалуйста, очень надо!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2011, 00:58
Ответы с готовыми решениями:

Решение систем линейных уравнений методом LU факторизации
Здравствуйте уважаемые нужна помощь. Разработать программу для решения системы...

Решение нелинейных уравнений: модифицированый метод Ньютона (метод секущих)
имеется исходник программы для решения методом Ньютона (метод касательных),...

Метод частных Рэлея или метод скалярных произведений для нахождения собственных чисел и векторов
Помогите пожалуйста перевести в Pascal, буду очень благодарен...

Реализовать метод Мака или венгерский метод
Плиз помогите написать программу на паскаль которая реализует метод Мака или...

Задача на метод деления пополам и метод итераций
Определить аналитическим путем точное решение данного уравнения: a*x+b=0 на...

1
Zanexess
111 / 84 / 52
Регистрация: 22.10.2010
Сообщений: 227
14.06.2011, 14:46 #2
Лучший ответ Сообщение было отмечено как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
var i,a,n:integer;
//
function NOD(x,y:integer):integer;
 begin
  if x<>0 then NOD:= NOD(y mod x,x) else NOD:= y;
 end;
//
function pol(e:integer):integer;
var x:integer; k:real;
begin
 k:=exp(e*ln(a));
 x:=round(k) mod n;
 pol:=nod(x-1,n);
end;
//
begin
Read (n); i:=0; a:=random(n)+2;
 Repeat
   inc(i); pol(i);
 until pol(i)<>1;
Writeln (pol(i));
end.
Не знаю что там нужно вводить было, но вот так.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2011, 14:46

Метод сортировки как метод подсчета
Существует такой метод сортировки как метод подсчета. Метод заключается в...

Необходимо реализовать алгоритм Полларда (алгортим факторизации числа n)
Доброго времени суток) Необходимо реализовать алгоритм Полларда (алгортим...

ро-метод Полларда
Здравствуйте! Задание такое: Реализовать ро-метод Полларда факторизации челых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru