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