Алгоритм Евклида для вычисления НОД - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д