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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 58, средняя оценка - 4.67
eFilipchik
Сообщений: n/a
#1

Нод - C++

18.04.2010, 23:44. Просмотров 7376. Ответов 3
Метки нет (Все метки)

Даны два числа a и b. Найти их НОД (наибольший общий делитель).
Название Размерность Тип
a 8 вх
b 8 вх
res 8 вых






На входе числа a и b.
На выход res подать НОД чисел a и b.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2010, 23:44     Нод
Посмотрите здесь:

НОД - C++
Извиняюсь за вопрос, просмотрел все но не нашел того, что нужно Задание: Найти НОД 2 чисел # include <iostream> # include...

НОД - C++
Написать программу которая из двух чисел x и y ищет наибольший общий делитель

НОД - C++
Нужно доработать код, чтобы находить НОД трех чисел, пожалуйста) #include <iostream> #include <conio.h> #include <locale.h> using...

C++ НОД - C++
Создать функцию, вычисляющую НОД. Использую эту функцию, найти наибольший общий делитель элементов одномерного массива из 10-элементов. ...

вычисление нод - C++
int nod(int x, int y) { if ((y == 0) || (x==0)) return x; else return nod(y, x % y); ...

Найти НОД - C++
Заданные натуральные числа n и m. Найти НОД (n, m) (наибольший общий делитель). Составить программу, которая будет содержать рекурсивную...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
19.04.2010, 03:39     Нод #2
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>
using namespace std;
int nod(int x, int y){ 
    if (y == 0)  
    return x;  
    return nod(y, x % y);}
    
    int main()
    {
        int a,b;
        cout << "Enter a,b\n";
         cin >> a;
        cin >> b;
        cout << "Name   " << "Size  " << "Type\n";
        cout << "a      " << a << "   " << "  Input\n";
        cout << "b      " << b << "   " << "  Input\n";
        
        cout << "NOD    " << nod(a,b) << "     Output";
        
        cin.get();
        cin.get();
    }
Добавлено через 26 секунд
Рекурсивный алгоритм Евклида для нахождения нод
Kiber
0 / 0 / 0
Регистрация: 21.04.2010
Сообщений: 14
11.05.2010, 15:17     Нод #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>
using namespace std;
int nod(int x, int y){ 
    if (y == 0)  
    return x;  
    return nod(y, x % y);}
    
    int main()
    {
        int a,b;
        cout << "Enter a,b\n";
         cin >> a;
        cin >> b;
        cout << "Name   " << "Size  " << "Type\n";
        cout << "a      " << a << "   " << "  Input\n";
        cout << "b      " << b << "   " << "  Input\n";
        
        cout << "NOD    " << nod(a,b) << "     Output";
        
        cin.get();
        cin.get();
    }
Простите ,а как можно сделать без использования функции NOD и для нескольких (возможно произвольное количество) чисел?
Вот мой код:
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
32
33
34
35
#include <stdio.h>
#include <conio.h>
main()
{
 
unsigned int i,n,s=1,a,b,c,d;
printf("n=");
scanf("%u",&n);
for(i=1;i<=n;i++)
{
printf("a%u=",i);
scanf("%f",&a);
while (d!=0){
if (b>c)
{
d=b%c;
b=c;
c=d;
if(s%d!=0)s=s*d;
 }
 else {
 d=c%b;
 b=c;
 d=b;
 if(s%d!=0)s=s*d;
 }
 
 
 }
}
 
printf("s=%u",s);
getch();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2013, 14:32     Нод
Еще ссылки по теме:

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

поиск НОД - C++
даны натуральные числа n и m; найти НОД (n;m). Составить рекурсивную функцию вычесления НОД, основанную на соотношении НОД(n,m)=НОД(m,r),...

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

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

Вычисление НОД - C++
Составить программу для вычисления НОД двух натуральных чисел вот еще одна програмка.

Нахождение НОД - C++
Здравствуйте, мне надо найти НОД чисел. Как это реализовать на языке C++ ?


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

Или воспользуйтесь поиском по форуму:
yskra
Сообщений: n/a
02.12.2013, 14:32     Нод #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
24
25
26
27
28
29
30
int main()
{
 int n, i, j, v, min=999;
 cout<<"Kolichestvo elementov v massive:";
 cin>>a[i];
 int *a=new int[n];
 for(i=0; i<=n; i++)
 {
   cout<<i<<" element";
   cin>>a[i];
 }
 for(i=0; i<=n; i++)
 {
   if(a[i]<min)  min=a[i];
 }
 for(i=min; i>=1; i--)
 {
   v=i;
   for(j=0; j<=n; j++)
   {
     if(!(!(a[l]%v))) break;
     if(j=n)
     {
       cout<<"\nNOD="<<v;
       getch();
       return 0;
     }
   }
 }
}
Добавлено через 4 минуты
Я основывала ее на том что НОД все равно не может быть больше минимального числа. Но зато ее сложность возрастает при поиске минимума и при проходе от минимума к единице.
Но зато эта прогамма будет понятна тем кому не надо разбираться в алгоритме Эвклида.
Yandex
Объявления
02.12.2013, 14:32     Нод
Ответ Создать тему
Опции темы

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