![]() |
![]() ![]() ![]() ![]() |
|
Вычисление наибольшего общего делителя двух целых неотрицательных чисел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 | ||||