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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.71
Artishok
ЧакЭ одобряЭ
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
#1

НОД для нескольких чисел - C++

01.09.2011, 21:36. Просмотров 3522. Ответов 5
Метки нет (Все метки)

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

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

Как найти НОК и НОД нескольких чисел или n чисел ? - C++
Собственно вопрос в теме . Как найти двух чисел нод ,нок я могу .А как это найти НОД,НОК n чисел ? Помогите пожалуйста !

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

НОД для трех чисел. - C++
Здорова народ! Как найти найболшый общий делитель для трьох чисел?

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

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

5
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
01.09.2011, 21:40 #2
Между текущим НОД и очередным числом. До тех пор, пока числа не кончатся или очередной НОД не станет равным единице.
1
Artishok
ЧакЭ одобряЭ
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
01.09.2011, 22:18  [ТС] #3
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 nod (int a, int b)  
{  
    if (b == 0) {
       if (a == 0)
           return -1; 
       else return a;}
    else abs(nod(b, a % b));
} 
 
int main()
{
    int n=0,n1=0;
    int ax[]={100,200,400};
    for(int i=0;i<3 & (n!=1);i++)
    {
        n1=n;
        n=nod(n1,ax[i]);
    }
    cout<<n<<endl;
}
так?
0
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
01.09.2011, 22:28 #4
Artishok, вполне можно так (интуитивно понятней)
C++
1
2
3
4
int k = a[0];
 
for (int i = 1; i < a.size(); i++)
  k = lcs(k, a[i]);
2
Thinker
Эксперт С++
4227 / 2201 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
01.09.2011, 22:33 #5
Либо через факторизацию, если она уже известна

И можно без лишних переменных

C++
1
2
3
4
for(int i = 0; i <3 & (n != 1); i++)
{
        n=nod(n, ax[i]);
}
А, iama уже так заметил
1
odip
Эксперт С++
7158 / 3220 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.09.2011, 18:13 #6
как найти Нод для массива чисел(нескольких чисел)?
NOD(a1,a2,a3)= NOD( NOD(a1,a2), a3 )
NOD(a1,a2,a3,a4)= NOD( NOD( NOD(a1,a2), a3 ), a4 )
и так далее ...
0
02.09.2011, 18:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2011, 18:13
Привет! Вот еще темы с ответами:

Не срабатывает while (НОД для двух чисел) - C++
начал писать программу по определению НОД для двух чисел. В ходе одного условия почему-то не срабатывает while. Подскажите, почему ?? ...

Для целых чисел N и M найти НОД - C++
Составить программу, которая бы для целых чисел N и M (|N|, |M| &lt;=2000000) находила их НОД (наибольший общий делитель). Указания к...

Нод для 2-х заданных натуральных чисел с циклом while - C++
привет,всем)помогите,пожалуйста, с программой #include&lt;iostream&gt; #include&lt;windows.h&gt; using namespace std; int main() { ...

Нод для двух натуральных чисел с циклом for - C++
#include&lt;iostream&gt; #include&lt;windows.h&gt; using namespace std; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); ...


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

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

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