Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nata95
1 / 1 / 0
Регистрация: 05.01.2014
Сообщений: 109
#1

Даны два числа. Найти их наибольший общий делитель - C++

09.04.2014, 19:32. Просмотров 1474. Ответов 3
Метки нет (Все метки)

Пожалуйста, помогите у меня превышено время работы
Даны два числа. Найти их наибольший общий делитель.
Формат входных данных
Вводятся два натуральных числа, не превышающих 109.
Формат выходных данных
Выведите НОД введенных чисел.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>                
using namespace std;
int main(){
int a(0), b(0), d(1);
cin >> a >> b;
int x = a;
if(b > a){
x = b;
}
for(int i = 1; i <= x; i++){
        if(a%i == 0 && b%i == 0){
                  d = i;
                  }
        }
       cout << d;         
return 0;               
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2014, 19:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Даны два числа. Найти их наибольший общий делитель (C++):

Даны два числа А и B. Найти их наибольший общий делитель - C++
Задание: Даны два числа А и B. Найти их наибольший общий делитель НОД(A,B) и два числа U и V, такие, что А*U + B*V = НОД(A,B) Если с...

Даны два натуральных числа. Получить их наибольший общий делитель (НОД), используя алгоритм Евклида - C++
Даны два натуральных числа. Получить их наибольший общий делитель (НОД), используя алгоритм Евклида. С помощью оператора цикла for ...

С клавиатруы вводится 2 числа, найти их наибольший общий делитель. - C++
Буду очень благодарег=(( 1. С клавиатруы вводится 2 числа, найти их наибольший общий делитель. 2. Разложение в степенной ряд e ^ x. ...

шестнадцатеричных числа. Определить наибольший общий делитель - C++
Помогите сделать задание, завтра сдавать... Заданы два длинных неотрицательных шестнадцатеричных числа. Напишите программу, определяющую...

Найти наибольший общий делитель - C++
помогите написать программу на С ++ задано 2 целые числа m и n, найти их наибольший общий делитель d и целые числа a и b такие, что d =...

Найти NOD(a, b, c), (наибольший общий делитель) - C++
Помогите, как объявить функцию с двумя параметрами? &quot;Даны натуральные числа a, b, c. Найти NOD(a, b, c), (наибольший общий делитель)...

3
zss
Модератор
Эксперт С++
6536 / 6098 / 2008
Регистрация: 18.12.2011
Сообщений: 15,861
Завершенные тесты: 1
09.04.2014, 21:51 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>                
using namespace std;
int main()
{
    int a, b;
    cin >> a >> b;
    while(a!=b)
    {
        if(b > a)
            b=b-a;
        else
            a=a-b;
    }
    cout <<"nod="<<a;
    system("pause");         
    return 0;               
}
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
09.04.2014, 22:08 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int nod(int a, int b) {
    return b == 0 ? a : nod(b, a % b);
}
int main(){
    int a, b;
    cin >> a >> b;
    cout << nod(a, b) << endl;
}
1
flash_back
6 / 6 / 1
Регистрация: 07.02.2016
Сообщений: 81
Завершенные тесты: 3
29.09.2017, 15:51 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
unsigned gcd(unsigned a, unsigned b)
{
    if (b == 0)
        return a;
    if (a > b)
        return gcd (b, a % b);
    else
        return gcd (a, b % a);
}
 
int main(){
     unsigned a, b;
     cin >> a >> b;
     cout << gcd(a,b);
     return 0;
}
0
29.09.2017, 15:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2017, 15:51
Привет! Вот еще темы с ответами:

[Qt 5] Задание:Найти наибольший общий делитель n и m - C++
Здравствуйте, вот, дали задание для первого курса. Не могли бы помочь? Если можно, не очень сложный код, чтобы понятно было Заранее...

Найти наибольший общий делитель многочленов - C++
Помогите пожалуйста , нужно сделать работу по с ++ , вот задание : Найти наибольший общий делитель многочленов Р (х) и Q (x). ...

Найти НОД (наибольший общий делитель) - C++
1) НОД(наибольший общий делитель) Даны два числа a и b 0&lt;a,b&lt;INT_MAX INT_MAX - максимальное доступное число, которое умещается в...

Найти наибольший общий делитель чисел - C++
Найти наибольший общий делитель чисел M и N используя метод Эйлера: если M делится на N, то НОД (N, M) = N, иначе НОД (N, M) = НОД (M % N,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru