Студопедия — Алгоритм и программа разложения степени числа по правилам арифметики вычетов
Студопедия Главная Случайная страница Обратная связь

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

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






 

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

 

В 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; просмотров: 509. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

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