logo
Лекции по TURBO PASCAL

Наименьшее общее кратное двух чисел

НОК двух чисел А и В – минимальное натуральное число, которое делится без остатка на А и на В. Исходя из определения можно искать это число следующим образом. Начиная с числа А (или с В) перебирать натуральные числа до тех пор, пока не найдем такое, которое будет без остатка делиться и на А, и на В. Здесь удобней будет использовать цикл While. Цикл For не подходит, потому что мы не знаем заранее, сколько чисел нам придётся перебрать, пока найдём НОК.

В заголовке цикла While надо записать такое условие, которое будет верно до тех пор, пока мы не найдём нужное число. То есть пока проверяемое число не будет делиться и на А, и на В без остатка.

Процедура поиска будет такой:

Procedure NOK (a, b : integer; var rez : integer);

Begin

rez := a;

While not ((rez mod a = 0) and (rez mod b = 0)) do

rez := rez + 1; { Увеличиваем i, пока оно не будет делится и на а, и на b }

rez := i

End;