У вас вопросы?
У нас ответы:) SamZan.net

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

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 7.3.2025

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра информатики

Пояснительная записка к курсовому проекту

по курсу

«Архитектура вычислительных систем»

на тему

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

МИНСК, 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
  3.  Нахождение разности yi= x2i- xi
  4.  Вычисление НОД (yi , N)
  5.  Проверка НОД (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();

}




1. Курсова робота є однією із практичних форм звіту студента під час набуття ним теоретичних знань з даної дисци
2. Защита программы от нелегального копирования
3. существенное звено формирования экономической политики инструмент бизнеса один из главных механизмов упр
4. ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ДГТУ Информационные те
5. Лео Бернетт
6. TheMerchnt Nvy who lost their lives serving in the Second World Wr nd the monument to the Duke of Wellington by lfred Stevens who worked on it for20 yers nd ws still incomplete on his deth in 1875
7. Пороховой погреб Европы ~ название на самом деле подходящее для него
8.  Гейне Г Книга песен
9. I Построение треугольника с данными сторонами
10. технологических установок здания предъявляются разнообразные требования