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

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

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

Для тройки натуральных чисел определить их больший общий делитель. - C++

27.10.2010, 16:30. Просмотров 977. Ответов 14
Метки нет (Все метки)

Помогите решить задачу
Для тройки натуральных чисел определить их больший общий делитель.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2010, 16:30     Для тройки натуральных чисел определить их больший общий делитель.
Посмотрите здесь:

Определить наибольший общий делитель трех натуральных чисел - C++
Нужно решить с помощю файлов даже непредставляю как ( Определить наибольший общий делитель трех натуральных чисел.

Общий делитель для двух натуральных чисел - C++
найти наименьший общий делитель для двух натуральных чисел

Найти наиболее больший общий делитель для последовательности - C++
Дано натуральное число n и натуральные числа a1, a2, ..., an. Найти наиболее больший общий делитель для заданной последовательности....

Разработать функцию, которая для заданных натуральных чисел N и M возвращает их наибольший общий делитель - C++
разработать функцию,которая для заданных натуральных чисел N и M возвращает их наибольший общий делитель.с помощью данной функции найти...

Наибольший общий делитель двух натуральных чисел - C++
1) Найти наибольший общий делитель двух заданных натуральных чисел. 2)Правила :( не знаю как делать.

найти наибольший общий делитель массива натуральных чисел - C++
найти наибольший общий делитель n натуральных чисел

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.10.2010, 16:35     Для тройки натуральных чисел определить их больший общий делитель. #2
Antonxa, Вроде так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main()
{
    int a, b, c;
    std::cout<<"Enter a, b, c: ";
    std::cin>>a>>b>>c;
    int max=std::max(std::max(a,b), c);
    int nod=1;
    for(int i=1; i<=max/2; ++i)
    {
         if(a%i==0&&b%i==0&&c%i==0)
              if(nod<i)
              {
                  nod=i;
              }
     }
     std::cout<<nod<<'\n';
     return 0;
}
Antonxa
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 11
27.10.2010, 16:57  [ТС]     Для тройки натуральных чисел определить их больший общий делитель. #3
А можно с комментариями,если не сложно?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.10.2010, 17:10     Для тройки натуральных чисел определить их больший общий делитель. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>//Хедер для ввода-вывода
 
int main()
{
    int a, b, c;
    std::cout<<"Enter a, b, c: ";
    std::cin>>a>>b>>c;
    int max=std::max(std::max(a,b), c);//Находим максимум из a, b, c
    int nod=1;
    for(int i=1; i<=max/2; ++i)//От 1 до тех пор пока i!=max/2, ибо больше чем такой делитель быть не может
    {
         if(a%i==0&&b%i==0&&c%i==0)//Если все три числа делятся на i без остатка
              if(nod<i)//и если i>nod
              {
                  nod=i;//Присваиваем nod i
              }
     }
     std::cout<<nod<<'\n';//Печатаем нод
     return 0;
}
Antonxa
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 11
27.10.2010, 17:22  [ТС]     Для тройки натуральных чисел определить их больший общий делитель. #5
Спасибо большое!!!
Aynura Aliieva
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 5
30.10.2011, 13:13     Для тройки натуральных чисел определить их больший общий делитель. #6
а можно вот эту строку

int max=std::max(std::max(a,b), c);

записать иначе, чтобы не использовалось std:: ?
извините если задаю глупый вопрос
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.10.2011, 13:26     Для тройки натуральных чисел определить их больший общий делитель. #7
C++
1
using std::max;
и просто убираете все std::
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
30.10.2011, 13:38     Для тройки натуральных чисел определить их больший общий делитель. #8
diagon, Я полагаю вопрос был как сделать тоже самое не используя std::max
Aynura Aliieva
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 5
30.10.2011, 13:41     Для тройки натуральных чисел определить их больший общий делитель. #9
я писала using namespace std;
но если убрать после все std:: компилятор выдаёт ошибку
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.10.2011, 13:43     Для тройки натуральных чисел определить их больший общий делитель. #10
Цитата Сообщение от Aynura Aliieva Посмотреть сообщение
я писала using namespace std;
но если убрать после все std:: компилятор выдаёт ошибку
Потому что конфликт имен. Переменная max и функция max.
Вот поэтому и не стоит пользоваться using namespace std;
Aynura Aliieva
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 5
30.10.2011, 13:51     Для тройки натуральных чисел определить их больший общий делитель. #11
тогда последний вопрос)
если всё же написать using namespace std;
убрать все std::
и переименовать переменную max.
Будет ли это верно?
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.10.2011, 13:52     Для тройки натуральных чисел определить их больший общий делитель. #12
Цитата Сообщение от Aynura Aliieva Посмотреть сообщение
тогда последний вопрос)
если всё же написать using namespace std;
убрать все std::
и переименовать переменную max.
Будет ли это верно?
Должно скомпилироваться, но будет несомненно хуже первоначального варианта.
Aynura Aliieva
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 5
30.10.2011, 13:56     Для тройки натуральных чисел определить их больший общий делитель. #13
Спасибо большое)
Aynura Aliieva
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 5
10.11.2011, 22:29     Для тройки натуральных чисел определить их больший общий делитель. #14
Здравствуйте )
а если ту же задачу решить,но с использованием алгоритма нахождения нод вычитанием, можете написать или объяснить как?:/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2011, 23:14     Для тройки натуральных чисел определить их больший общий делитель.
Еще ссылки по теме:

Рекурсия: найти наибольший общий делитель 2-х натуральных чисел - C++
С помощью рекурсивной функции найти наибольший общий делитель 2-х натуральных чисел. #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

Найти наибольший общий делитель трех натуральных чисел - C++
Найти наибольший общий делитель трех натуральных чисел (единица будет считаться наибольшим общим делителем только в том случае, когда...

Найти наибольший общий делитель трех натуральных чисел - C++
Ребят, нужна помощь Найти наибольший общий делитель трех натуральных чисел, имея ввиду, что НОД(a,b,c)=НОД(НОД)(а,b),c).(Определить...

Определить наибольший общий делитель для 3-х введенных с клавиатуры чисел - C++
Определить наибольший общий делитель для 3-х введенных с клавиатуры чисел. Помогите, пожалуйста.


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

Или воспользуйтесь поиском по форуму:
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
10.11.2011, 23:14     Для тройки натуральных чисел определить их больший общий делитель. #15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
int gcd (int a, int b) {
    while (a && b) {
        if (a > b)
            a -= b;
        else
            b -= a;
    }
    return a + b;
}
 
int main() {
    int a = 2, b = 18, c = 30;
    std::cout << gcd (a, gcd (b, c));
    return 0;
}
Yandex
Объявления
10.11.2011, 23:14     Для тройки натуральных чисел определить их больший общий делитель.
Ответ Создать тему
Опции темы

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