Напишите функцию,(через процедуру ) которая находит наибольший общий делитель двух натуральных чисел. пример: введите два натуральных числа: 7006652 112307574 нод(7006652,112307574) = 1234.
Function gcd(a, b: longint): longint; // Нахождение НОД var i: longint; begin while b <> 0 do begin a := a mod b; i := b; b := a; a := i end; gcd := a end;
var a, b: longint;
begin Write('Введите два натуральных числа: '); Readln(a, b); Writeln('НОД(', a, ',', b, ')=', gcd(a, b)) end.
Тестовое решение: Введите два натуральных числа: 7006652 112307574 НОД(7006652,112307574)=1234
// Нахождение НОД
var
i: longint;
begin
while b <> 0 do
begin
a := a mod b;
i := b; b := a; a := i
end;
gcd := a
end;
var
a, b: longint;
begin
Write('Введите два натуральных числа: '); Readln(a, b);
Writeln('НОД(', a, ',', b, ')=', gcd(a, b))
end.
Тестовое решение:
Введите два натуральных числа: 7006652 112307574
НОД(7006652,112307574)=1234