Даны натуральные числа М и N. Определить их наибольший общий делитель NOD.
VAR I, N, M, K, NOD : INTEGER;
BEGIN
{ДАНЫ НАТУРАЛЬНЫЕ ЧИСЛА М И N. ОПРЕДЕЛИТЬ
ИХ НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ NOD}
REPEAT
WRITE(‘BBEДИTE НАТУРАЛЬНОЕ ЧИСЛО N= ‘);
READLN (N);
WRITE(‘BBEДИTE НАТУРАЛЬНОЕ ЧИСЛО М=’);
READLN (M);
UNTIL (N>0) AND (M>0);
IF N>M THEN К := M
ELSE К := N;
FOR I := 1 TO К DO
IF (N MOD I = 0) AND (M MOD I = 0) THEN
NOD := I;
WRITE(‘НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ ЧИСЕЛ’, N, ‘И’, М, ‘NOD =’, NOD)
END.
Для решения задачи:
— формируем тело программы и описываем переменные;
— вводим натуральные числа М и N;
— в цикле от 1 до наименьшего числа порождаем число I и проверяем, является ли оно одновременно делителем М и N;
— запоминаем этот делитель в переменной NOD;
— выводим результат.
Переменные:
N, М — исследуемые числа;
I — переменная цикла;
NOD — наибольший общий делитель;
К — наименьшее из М и N.