это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
по курсу
«Архитектура вычислительных систем»
на тему
«Планирование работ в вычислительных системах по критерию минимального суммарного времени выполнения работ»
МИНСК, 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;
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();
}
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Разработка мобильного приложения для туристических маршрутов в крупных...
Курсовая, Разработка и анализ требований, информатика и программирование
Срок сдачи к 13 янв.
Квалиметрия как наука о методах количественной оценки качества продукции сварочного производства.
Курсовая, Управление качеством в сварочном производстве
Срок сдачи к 20 янв.
Выполнить 6 лабораторных работ. Математическое моделирование. Е-01594
Контрольная, Математическое моделирование
Срок сдачи к 12 янв.
Решить задачи, предоставить пояснения и обоснования ответов
Решение задач, Анализ отраслевых рынков и управление конкурентосопсобностью, торговое дело, маркетинг
Срок сдачи к 9 янв.
лабораторная работа 4
Лабораторная, Математические методы и модели принятия решений
Срок сдачи к 11 янв.
Сделать расчетно графическую работу (РГР)
Контрольная, Конструирование и расчет сварочных приспособлений, сварочное дело, металлургия
Срок сдачи к 14 янв.
построить графики, посчитать все что есть на доске по...
Лабораторная, Механические свойства, механика
Срок сдачи к 9 янв.
Практическая работа
Контрольная, Технологии обработки металлов и сплавов, металлургия
Срок сдачи к 8 янв.
Заполните форму и узнайте цену на индивидуальную работу!