![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Вычисление наибольшего общего делителя двух целых неотрицательных чиселDelphi , Синтаксис , Математика
Автор: Fenik { **** UBPFD *********** by delphibase.endimus.com **** >> Зависимости: System Автор: Fenik, chook_nu@uraltc.ru, Новоуральск Copyright: Turbo Pascal / С.А. Немнюгин. - СПб: Издательство "Питер", 2000. Дата: 27 октября 2002 г. ***************************************************** } function GCD(const m, n: LongWord): LongWord; {Вычисление наибольшего общего делителя двух неотрицательных целых чисел. Если какое-то из чисел = 0, то функция возвратит 0. Взято из учебника: Turbo Pascal / С.А. Немнюгин. - СПб: Издательство "Питер", 2000.} var p, n1, m1: LongWord; begin if (n = 0) or (m = 0) then Result := 0 else begin if m < n then begin n1 := m; m1 := n; end else begin n1 := n; m1 := m; end; while n1 > 0 do begin p := m1 mod n1; m1 := n1; n1 := p; end; Result := m1; end; end; Пример использования: p := GCD(54, 36); {p := 18} Вот перевод текста на русский язык: Это реализация алгоритма Евклида в Delphi для поиска наибольшего общего делителя (НОД) двух неотрицательных целых чисел. Вот разбивка кода: Подпись функции
Функция Имплементация
Если ни
Если ни
Затем функция вступает в цикл, который продолжается до тех пор, пока
Наконец, функция возвращает НОД, который хранится в
Пример использования
Это код для расчета НОД чисел 54 и 36, который действительно равен 18. В целом, эта реализация - это прямой и эффективный способ вычисления НОД двух неотрицательных целых чисел с помощью алгоритма Евклида. Вычисление наибольшего общего делителя двух целых неотрицательных чисел с помощью алгоритма Евклида, представленного в виде функции на языке Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Математика ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |