 
Вопрос задан 26.05.2018 в 06:07.
Предмет Информатика.
Спрашивает Ханская Дина.
НА С++ ПОЖАЛУЙСТААлгоритм Евклида для вычисления наибольшего общего делителя двух натуральных
чисел, формулируется так: нужно заменять большее число на разность большего и меньшего до тех пор, пока одно из них не станет равно нулю; тогда второе и есть НОД. Напишите программу, которая реализует этот алгоритм. Входные данные Входная строка содержит два числа, разделённые пробелом – a и b . Выходные данные Программа должна вывести в одной строке два числа: сначала наибольший общий делитель двух введённых чисел, а затем – количество шагов цикла, которые были выполнены. Примеры входные данные 14 21 выходные данные 7 3 0
        0
         0
        0
    Ответы на вопрос
 
        Отвечает Власова Настя.
                
     #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 
 0
                    0
                     0
                    0
                 
        Отвечает Майоров Ярослав.
                
     #include <bits/stdc++.h>
using namespace std;
int main() {
    int a, b;
    cin >> a >> b;
    int cnt = 0;
    if (a < b) swap(a, b);
    while (b != 0) {
        a = a - b;
        if (a < b) swap(a, b);
        cnt++;
    }
    cout << a << " " << cnt;
    return 0;
} 
 0
                    0
                     0
                    0
                Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
	- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			