Задать вопрос
27 февраля, 21:58

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

Входные данные:

Входная строка содержит два числа, разделённые пробелом - a и b.

Выходные данные:

Программа должна вывести в одной строке два числа: сначала наибольший общий делитель двух введённых чисел, а затем - количество шагов цикла, которые были выполнены.

Примеры:

Входные данные:

21 14

Выходные данные:

7 2

Входные данные:

121 136

Выходные данные:

1 3

+2
Ответы (1)
  1. 27 февраля, 23:27
    0
    Var a, b, nod, k:integer;

    begin

    readln (a, b) ;

    k:=0;

    while (a0) and (b0) 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.

    Пример:

    21 14

    7 2
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Модифицированный алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Уровень B. Задача M. Две одинаковые цифры рядом Напишите программу, которая определяет, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом (как, например, 221). Входные данные Входная строка содержит одно натуральное число.
Ответы (1)
Алгоритм евклида для вычисления нод двух натуральных чисел формируется так нужно заменять большее число на разность большего и меньшего до тех пор пока одно из них не станет равно нулю тогда второе и есть нод напишите программу которая реализует
Ответы (1)
Напишите программу, которая выводит все простые числа в диапазоне от K до N (2 ≤ K ≤ N ≤ 100000), оканчивающиеся на цифру 3. Входные данные: Входная строка содержит два натуральных числа, разделённые пробелом, K и N (2 ≤ K ≤ N ≤ 100000).
Ответы (1)
Напишите программу, которая возводит натуральное число A в натуральную степень B. Входные данные Входная строка содержит два числа, A и B, разделённые пробелом. Гарантируется, что 1 ≤ A, B ≤ 1000.
Ответы (1)
Программа в C++ Напишите программу, которая вводит натуральное число N и выводит первые N чётных натуральных чисел. Входные данные Входная строка содержит единственное число - требуемое количество чисел N.
Ответы (1)