Напишите программу для вычисления наибольшего общего делителя двух целых чисел:
а)используйте оператор repeat
б)используйте оператор while

//1.Переборный алгоритм Евклида (цикл repeat)

var a, b, с: integer; 

begin

  write(Введите два числа: );

  readln(a, b);

  if a < b then с := a + 1 else с := b + 1;

repeat с := с - 1

  until (a mod с = 0) and (b mod с = 0);

  write(NOD = , с)

end.

 

//2.Алгоритм с вычитанием (цикл while)

var  a, b: integer;

begin

  write(a = );

  readln(a);

  write(b = );

  readln(b);

  while a <> b do

    if a > b then

      a := a - b

    else

      b := b - a;

  writeln(NOD = , a);

end.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку