|
|
evklid.PAS |
|
{* Алгоритм Эвклида. Метод вычитаний *}Unit EVKLID;Interface Implementation Begin writeln('Найти наибольший общий делитель двух целых чисел (алгоритм Евклида). В этой программе используются только операции вычитания. '); End. { Алгоритм Эвклида. Метод вычитаний. Данная программа вычисляет НОД по алгоритму Эвклида. Все вычисления основаны на использовании операций вычистания. Задача. Найти наибольший общий делитель двух целых чисел (алгоритм Евклида). В этой программе используются только операции вычитания. кл. слова: НОД алгоритм Эвклида паскаль задачи паскаль работа операции вычитания наибольший общий делитель выход: Алгоритм Эвклида. Метод вычитаний. Рекурсивная функция: 20 Глубина рекурсии: 322 Итерационная функция: 20 } Program evklid; Uses evklid.pas; {* Эту строку можно удалить *} Uses Crt; {* Вызов внешних функций *} Var { данное число } { данное число } : longint; { глубина рекурсии (количество рекурсивных вызовов)} : word; { данное число } { данное число } : longint ); {находит наибольший общий делитель с помощью рекурсии } If n = 0 Then rec := m Else If m < n Then rec; { данное число } { данное число } : longint ); {находит наибольший общий делитель с помощью итерации} Var { дополнительная переменная } : longint; Begin While n > 0 Do Begin If m < n Then Begin t := m; m := n; n := t; End; t := m - n; m := n; n := t; End; iter := m; End; Begin ClrScr; {* Очищаем экран *} depth := 0; writeln('Алгоритм Эвклида. Метод вычитаний.'); writeln; {исходные значения функции передаются в подпрограмму rec()} WriteLn ('Рекурсивная функция; ', rec (200, 62140)); WriteLn ('Глубина рекурсии: ', depth); {исходные значения функции передаются в подпрограмму iter()} WriteLn ('Итерационная функция: ', iter (200, 62140)); WriteLn; {* Пустая строка *} ReadLn; {* Приостановка программы. Ожидание Enter *} End. 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|