Курсовая работа: Планирование работ в вычислительных системах по критерию минимального суммарного времени выполнения работ

«Планирование работ в вычислительных системах по критерию минимального суммарного времени выполнения работ»

МИНСК, 2001

Постановка задачи

Факторизовать целое число N с помощью ро-метода Полларда.

Исходные данные:

Целое число N.

Краткое описание ро-метода Полларда

Ро-метод Полларда для факторизации заключается в следующем:

1. Составляется последовательность {x}, xi +1 =f(xi ), f(x)=x2 +1

2. Вычисляются разности yi = x2i - xi

3. Вычисляется наибольший общий делитель чисел yi и N. Если он больше 1, полученный НОД (yi , N) является делителем числа N. Если нет – продолжаем выполнение алгоритма сначала.

Алгоритм работы программы

- Ввод числа N.

- Пока N не равно 1:

1. Вычисление xi

2. Вычисление x2i

4. Нахождение разности yi = x2i - xi

3. Вычисление НОД (yi , N)

4. Проверка НОД (yi , N) на равенство 1. Если это условие выполняется, то НОД – один из делителей числа N. Делим N на НОД и переходим к началу цикла.

Выход из цикла – равенство числа N единице.

Листинг программы

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

unsigned long NOD(unsigned long a, unsigned long b)

{

while ((a > 0) && (b > 0))

if (a > b) a %= b;

else b %= a;

if (a == 0) return b;

return a;

}

void main()

{

unsigned long N, y, x, x1, i, j, d;

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 97
Бесплатно скачать Курсовая работа: Планирование работ в вычислительных системах по критерию минимального суммарного времени выполнения работ