Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Алгоритм и программа разложения степени числа по правилам арифметики вычетов





 

Алгоритм разложения степени числа

 

В Delphi имеется встроенная процедура возведения числа а в степень x y:=IntPower(a,x), содержащаяся в библиотеке Math. Недостаток данной процедуры, как ранее отмечено, состоит в переполнении формата результата процедуры y в оперативной памяти компьютера при относительно небольших значениях а и х.

Разработаем собственную процедуру разложения степени числа по пра­вилам арифметики вычетов, позволяющую исключить огромные результаты промежуточных вычислений.

Для упорядочивания разложения выражения b= aХ mod n по степеням числа х результат вычисления будем записывать в переменную с, значения которой на каждой итерации разложения i определяется следующей логикой вычислений:

i=1: b= a1 mod n → с = b ();

i=2: b= a2 mod n = (a*a) mod n = ((a mod n) * (a mod n)) mod n =(b*b) mod n

c = (c*b) mod n ();

i=3: b= a3 mod n = (a2*a) mod n = ((a2 mod n) * (a mod n)) mod n =(c*b) mod n

c = (c*b) mod n ();

i=x: ().

В виде алгоритма представленная последовательность итераций приве­дена на рисунке 3.3. Согласно алгоритмы, исходный код функции разложения степени числа по правилам арифметики вычетов выгладит следующим обра­зом:

Function aXmodN(a,x,n: integer): integer;

Var i,b,c: integer;

Begin

i:=0; b:= a mod n; c:=0;

While i<x do

Begin

i:=i+1;

If i=1 then c:=b else c:= (c*b) mod n;

End;

aXmodN:=c;

end;{aXmodN}

 

Рисунок 3.3 – Алгоритм разложения степени числа

 

Таким образом, программный код вида y:=IntPower(a,x)mod n можно заменить выражением y:= aXmodN(a,x,n). Для исследования воз­можностей и преимуществ разработанной функции по сравнению с использо­ванием встроенной процедурой Delphi y:=IntPower(a,x) напишем спе­циальное приложение.

 

3.3.2.2 Приложение для исследования вариантов разложения сте­пени числа

 

Рисунок 3.4 – Экранная форма приложения для исследования фунций y:=IntPower(a,x) и y:= aXmodN(a,x,n)

Рисунок 3.5 – Компоненты экранной формы приложения

 

 







Дата добавления: 2015-08-31; просмотров: 533. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия