Регистрация
Войти
Стать экспертом Правила
Информатика

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

ОТВЕТЫ
#include <iostream>

using namespace std;
int main()
{
    int a, b, nod;
    int k=0;
cin >> a >> b;
while (a*b != 0){
if (a>b) a -=b;
else b -= a;
k++;
}
nod = a+b;
cout << nod << " " << k;
    return 0;
}

Пример:
14 21
7 3
436
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам