Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
nata95
 Аватар для nata95
1 / 1 / 0
Регистрация: 05.01.2014
Сообщений: 102
09.04.2014, 19:32     Даны два числа. Найти их наибольший общий делитель #1
Пожалуйста, помогите у меня превышено время работы
Даны два числа. Найти их наибольший общий делитель.
Формат входных данных
Вводятся два натуральных числа, не превышающих 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;               
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2014, 19:32     Даны два числа. Найти их наибольший общий делитель
Посмотрите здесь:

C++ С клавиатруы вводится 2 числа, найти их наибольший общий делитель.
C++ Даны два числа. Найти их наибольший общий делитель.
Найти наибольший общий делитель чисел C++
[Qt 5] Задание:Найти наибольший общий делитель n и m C++
шестнадцатеричных числа. Определить наибольший общий делитель C++
C++ Даны два числа А и B. Найти их наибольший общий делитель
C++ Найти НОД (наибольший общий делитель)
C++ Найти наибольший общий делитель целых чисел х и у

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5952 / 5557 / 1787
Регистрация: 18.12.2011
Сообщений: 14,202
Завершенные тесты: 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;               
}
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
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;
}
Yandex
Объявления
09.04.2014, 22:08     Даны два числа. Найти их наибольший общий делитель
Ответ Создать тему
Опции темы

Текущее время: 21:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru