Форум программистов, компьютерный форум, киберфорум
Наши страницы

Факторизация методом Шнорра-Ленстры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать тип TDate — запись с полями целого типа Day (день), Month (месяц) и Year (год) — и функцию LeapYear(D) http://www.cyberforum.ru/cpp-beginners/thread1170919.html
Описать тип TDate — запись с полями целого типа Day (день), Month (месяц) и Year (год) — и функцию LeapYear(D) логического типа с параметром типа TDate, которая возвращает True, если год в дате D...
C++ Разбитие массива на некое количество подмассивов одинаковой длинны Здравствуйте. Для решения моей основной задачи требуется разбитие массива на некое количество подмассивов одинаковой длинны. Проблема в том, что конечный подмассив может быть заполнен не полностью,... http://www.cyberforum.ru/cpp-beginners/thread1170914.html
Как назвать переменную именем, введенным пользователем? C++
Недавно начал изучать C++. Скажите пожалуйста, как назвать переменную значением из другой переменной? Вот код простой программы и как сделать чтобы она работала? #include <iostream> using...
Использование класса ORDER C++
Следующие задания требуется решить с использованием классов. При этом обязательно оформить методы для выполнения каждого из действий: по вводу данных, выводу их в файл, чтению данных из файла и...
C++ Определить, является ли заданная квадратная матрица симметричной относительно главной диагонали http://www.cyberforum.ru/cpp-beginners/thread1170889.html
Задание: Определить, является ли заданная квадратная матрица А(5,5) симметричной относительно главной диагонали. Написать два варианта программы: без применения указателей и с указателями. Первый...
C++ Вычисление погрешности интегральных методов Симпсона и Гаусса Здраствуйте. Нужен пример реализации вычисления погрешности методов Симпсона и Гаусса Пробовал писать на Симпсона но выводит какойто бред, вот функция float x = A, det; float *Y, *det1, *det2,... подробнее

Показать сообщение отдельно
Rolexx
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 2

Факторизация методом Шнорра-Ленстры - C++

09.05.2014, 18:35. Просмотров 901. Ответов 2
Метки (Все метки)

Собственно курсач по этому методу. В рунете информации по нему практически нет, но нашёл в какой-то иностранной книге коротенький параграф с описанием алгоритма, перевёл. Вот он:
Кликните здесь для просмотра всего текста
Будем пытаться разделить N. Будем считать, что мы предварительно рассчитали р [1]*…* р [к ] всех простых чисел до [L(N)^(1/2)]
1 . [Инициализация] множество В ← [L(N)^(1/2)], K ← 1, e ← [lg(B)].
2. [Инициализация для K] пусть D = −KN if KN ≡ 3 (mod 4), D = −4KN иначе
3. [Выбрать форму] Пусть ƒ_p случайная форма дискриминанта D; x ← ƒ_p,
c ← 0 и i ← 1.
4. [Next prime] i ← i + 1. If i > k, K ← K + 1 и переходим к шагу 2 в противном случае q ← p[i], q_1 ← q, l ← [B⁄q].
5. [Вычислительная мощность] while q_1 ≤ l, q_1 ← q*q_1.
Затем х ← x^(q_1 ) (мощность класса группы), с ← с + 1 and if c < 20 переходим к шагу 4.
6. [Успех?] e_1 ← 0, и while х не амбигова форма и e_1 < e, х ← x^2
and e_1← e_1 + 1. Теперь, если х не амбигова форма, c ← 0, and переходим к шагу 4.
7. [Закончили?] (Здесь х амбигова форма) Находим разложение KN , соответствующее х, если N не разлагается, переходим к шагу 3. Иначе, на выходе получим нетривиальное разложение N и закончим алгоритм.

Скрин книжки:
Кликните здесь для просмотра всего текста
[]http://vk.com/doc137189983_296443175[/]

Разобраться не удаётся. Нужен код на С++ реализующий алгоритм или более внятное объяснение алгоритма.
Хелп)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru