Алгоритм Евклида для вычисления НОД - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на разность большего и меньшего до тех пор, пока одно из них не станет равно нулю; тогда второе и есть НОД. Напишите программу, которая реализует этот алгоритм. Входные данные Входная строка содержит два числа, разделённые пробелом – a и b . Выходные данные Программа должна вывести в одной строке два числа: сначала наибольший общий делитель двух введённых чисел, а затем – количество шагов цикла, которые были выполнены.

Решение задачи: «Алгоритм Евклида для вычисления НОД»

textual
Листинг программы
var a, b, nod, k: integer;
begin
  readln(a, b);
  k := 0;
  while (a <> 0) and (b <> 0) do begin
    if a > b then a := a mod b
      else b := b mod a;
    k := k + 1;
  end;
  nod := a + b;
  writeln(nod, ' ', k);
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы