Задание 2 Параграф 24 ГДЗ Семакин 8 класс (Информатика)
НОД(А, В, С) = НОД(НОД(А, В), С).
program Evklid_3;
var
a, b, c, d: integer;
begin
write(‘Введи A, B, C > > ‘);
readln(a, b, c);
while a < > b do
if a > b then a := a — b
else b := b — a;
d := a;
while d < > c do
if d > c then d := d — c
else c := c — d;
writeln(‘НОД =’, d)
end.
Используем свойство:
$$\text{НОД}(A,B,C)=\text{НОД}(\text{НОД}(A,B),C).$$
Сначала находим $$\text{НОД}(A,B)$$ методом вычитания: пока числа не равны, из большего вычитаем меньшее. Затем полученный результат сравниваем с $$C$$ и так же находим общий делитель.
program Evklid_3;
var
a, b, c, d: integer;
begin
write(‘Введи A, B, C>>’);
readln(a, b, c);
while a <> b do
if a > b then a := a — b
else b := b — a;
d := a;
while d <> c do
if d > c then d := d — c
else c := c — d;
writeln(‘НОД = ‘, d);
end.
Ответ
Программа находит наибольший общий делитель трёх чисел по формуле $$\text{НОД}(A,B,C)=\text{НОД}(\text{НОД}(A,B),C)$$.