|
Планирование работ в вычислительных системах по критерию минимального суммарного времени выполнения работ |
Планирование работ в вычислительных системах по критерию минимального суммарного времени выполнения работ
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ Кафедра информатикиПояснительная записка к курсовому проектупо курсу«Архитектура вычислительных систем»на тему«Планирование работ в вычислительных системах по критерию минимального суммарного времени выполнения работ»
МИНСК, 2001 Постановка задачиФакторизовать целое число N с помощью ро-метода Полларда.Исходные данные:Целое число N.Краткое описание ро-метода ПоллардаРо-метод Полларда для факторизации заключается в следующем:Составляется последовательность {x}, xi+1=f(xi), f(x)=x2+1Вычисляются разности yi= x2i- xiВычисляется наибольший общий делитель чисел yi и N. Если он больше 1, полученный НОД (yi , N) является делителем числа N. Если нет - продолжаем выполнение алгоритма сначала.Алгоритм работы программы- Ввод числа N.- Пока N не равно 1:1. Вычисление xi2. Вычисление x2iНахождение разности yi= x2i- xi3. Вычисление НОД (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;clrscr();printf("Введите N : ");scanf("%ld", &N);i = 1;x = 0;do {x = (x*x + 1) % N;x1 = x;for (j = 0; j < i*2-i; j++)x1 = (x1*x1 + 1) % N;i++;y = x1 - x;d = NOD(y, N);if (d != 1){cout<<"Делитель : "<<d<<" ";cout<<"Кол-во шагов : "<<i-1<<endl;N/=d;i = 1;x = 0;}}while (N != 1);getch();}
|
|
|
© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент. |
|
|