для двух целых чисел m и n называется наибольший из их общих делителей. Пример: для чисел 6 и 9 наибольший общий делитель равен 3.
Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел m или n не равно нулю. В школьной программе обозначается так: НОД(m, n)
Понятие наибольшего общего делителя (НОД) распространяется на любой набор из более чем двух целых чисел. Чаще всего НОД используется для сокращения дроби - если найти НОД числителя и знаменателя, то на это число можно сократить числитель и знаменатель данной дроби.
> НОД(А,В) = НОД(В, А mod B) , если В не равен 0; НОД(А,0)=А
Вот тебе дано определение -- фактически алгоритм. По нему и можно сразу же написать:
function nod(a, b: longint): longint;
begin
if b <> 0 then
nod := nod(b, a mod b)
else
nod := a;
end;
var
a, b, c, d: longint;
begin
write('A B C D? ');
readln(a, b, c, d);
writeln('НОД(A, B): ', nod(a, b));
writeln('НОД(A, C): ', nod(a, c));
writeln('НОД(A, D): ', nod(a, d));
end.
От рекурсии можно при желании избавится, тогда надо использовать цикл.
Пример: для чисел 6 и 9 наибольший общий делитель равен 3.
Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел m или n не равно нулю.
В школьной программе обозначается так: НОД(m, n)
Понятие наибольшего общего делителя (НОД) распространяется на любой набор из более чем двух целых чисел. Чаще всего НОД используется для сокращения дроби - если найти НОД числителя и знаменателя, то на это число можно сократить числитель и знаменатель данной дроби.