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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.74
Wolandello
1 / 1 / 0
Регистрация: 06.06.2009
Сообщений: 35
#1

НОД для трех чисел. - C++

10.07.2009, 18:06. Просмотров 6280. Ответов 8
Метки нет (Все метки)

Здорова народ! Как найти найболшый общий делитель для трьох чисел?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2009, 18:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос НОД для трех чисел. (C++):

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

НОД трех чисел - C++
Программа нахождения наибольшего общего делителя трех чисел Срочно нужно) Буду благодарен за полное решение!

Найти НОД трех чисел - C++
заданы 3 числа . нужно найти их наибольший общий делитель

Найти ошибку в программе вычисления НОД трех чисел. - C++
Поискав на форуме нашел множество решений задачи, но я не понимаю в них код. Поэтому решил все делать сам. задача: даны три числа...

Написать шаблоны функций для для вычисления суммы произведений двух соседних чисел для трех целых чисел и в одномерном массиве целых чисел - C++
Написать шаблоны функций для для вычисления суммы произведений двух соседних чисел для трех целых чисел и в одномерном массиве целых чисел:...

НОД для нескольких чисел - C++
не проблема найти НОД для двух чисел. но как найти Нод для массива чисел(нескольких чисел)?просто находить НОД между парами чисел?

8
Paulie
Айхрень...
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
10.07.2009, 18:24 #2
НОД
0
Wolandello
1 / 1 / 0
Регистрация: 06.06.2009
Сообщений: 35
10.07.2009, 18:39  [ТС] #3
Спасибо я знаю за алгоритм евкліда но незнаю как найти нод для 3 чисел
0
ISergey
Maniac
Эксперт С++
1376 / 887 / 53
Регистрация: 02.01.2009
Сообщений: 2,663
Записей в блоге: 1
10.07.2009, 19:05 #4
если правильно гуглить то можно найти
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
template < int A, int B, int C >
struct GCD {
    enum { value = GCD<A, C, B % C>::value };
};
 
template< int A, int B >
struct GCD <A, B, 0>{
    enum { value = GCD< B, A % B, 0 >::value };
};
 
template< int A >
struct GCD<A, 0, 0> {
    enum { value = A };
};
 
 
int main() 
{
    std::cout << "30, 15, 45 =  " << GCD<30, 15, 45>::value << std::endl;
    return 0;
}
метопрограммирование интересная штука..
0
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
10.07.2009, 19:53 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main(int argc, char * argv [])
{
    int one, two, three, del = 1;
 
    std::cout << "Enter Three Number: ";
    std::cin  >> one >> two >> three;
 
    for(int i = 1; i <= one; i++)
    {
        if(one % i == 0 && two % i == 0 && three % i == 0)
        {
            del = i;
        }
 
    }
 
    std::cout << "NOD: " << del << "\n";
 
    return 0;
}
0
odip
Эксперт С++
7158 / 3220 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
10.07.2009, 20:33 #6
Пусть есть числа A, B, C.
Пусть есть функция НОД(A,B) от двух чисел.
Тогда очевидно что НОД(A,B,C) = НОД( НОД(A,B), C )
0
<Norton>
Отдыхающий:)
94 / 91 / 10
Регистрация: 05.04.2009
Сообщений: 188
10.07.2009, 20:50 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <conio>
using namespace std;
int nod(int a,int b);
int main()
{
    int a,b,c;
        cout<<"a = ";
        cin>>a;
        cout<<"b = ";
        cin>>b;
        cout<<"c = ";
        cin>>c;
    cout<<nod(nod(a,b),c);
    getch();
    return 0;
}
int nod(int a,int b)
{
    while(a!=b)
        if(a>b)
        a-=b;
    else
        b-=a;
    return a;
}
0
Wolandello
1 / 1 / 0
Регистрация: 06.06.2009
Сообщений: 35
10.07.2009, 23:21  [ТС] #8
спасибо вы мне много помогли
0
Pavelzii
0 / 0 / 0
Регистрация: 25.09.2009
Сообщений: 3
25.09.2009, 11:17 #9
Такая хрень тоже должна прокатить, но пример Search.. клевый:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
// Определение НОД для 3-ёх чисел
int nod(int a, int b);
 
int main(){
   int a=0;
   int b=0;
   int c=0;
    while(1){
        cout<<"vvedite a ";
        cin>>a;
            if (a==0)
            break;
            cout<<"vvedite b ";
            cin>>b;
            cout<<"vvedite c ";
            cin>>c;
        cout<<"NOD= "<<nod(nod(a,b),c)<<endl;
        }
return 0;
}
int nod(int a, int b){ 
  int t=a%b;
  if (t==0)
  return abs(b);
  else 
  return nod(b,t);
}
0
25.09.2009, 11:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2009, 11:17
Привет! Вот еще темы с ответами:

НОД для 3 чисел и более - C++
Помогите пожалуйста написать программу нахождения НОД для трех или более чисел на основе КАНОНИЧЕСКОГО разложения числа.

Нод для массива чисел - C++
Ввести с клавиатуры последовательность чисел (как положительных, так и отрицательных, как целых, так и вещественных). Создать свои...

НОД для нескольких чисел - C++
Надо найти НОД для нескольких чисел, не используя массив и функцию gcd. пример: n=3 вход: 2 8 16 выход: 2 NOD(а1, а2, … аn) =...

НОД для 100 чисел - C++
Найти НОД (наибольший общий делитель) n чисел. Входные данные Первая строка содержит количество чисел n (1 &lt; n &lt; 101). Во...


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

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

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