Следующий код предназначен для нахождения НОК двух чисел. Максимально допустимое значение — 18 446 744 073 709 551 615 (целочисленный тип данных — uint64), поддерживаемое средой PascalABC.Net. Если вы используете другую среду Паскаля, то используйте integer. Смысл приведенного ниже решения исходит из простого классического факта для двух натуральных чисел А и В: произведение A·B равно произведению НОД(А,В) на НОК(А,В). Последнее означает, что наибольшее общее кратное двух чисел можно найти по формуле:
НОК(А,В) = A·(B/НОД(А,В)).
var
A, B, x, y, NOK: integer;
begin
writeln('Введите целые неотрицательные числа A и B:');
readln(A, B);
x := A; { <== Запоминаем А }
y := B; { <== Запоминаем В }
write('Результат: НОД(', A, ', ', B, ') = ');
{ Сначала находим НОД(А,В): }
while A <> B do
if A > B then A := A - B
else B := B - A;
{ На выходе из цикла получим НОД = А }
NOK := x * (y div A); { <== находим НОК(А,В) }
{ Выводим результат: }
writeln(' ', NOK)
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647A **div** B
- целочисленное деление А на В