Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Lena _t
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 32
#1

нод двух чисел - C++

27.06.2011, 23:37. Просмотров 1261. Ответов 11
Метки нет (Все метки)

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

Найти НОД двух чисел
Необходимо составить программу которая определяет для двух вводимых натуральных...

Найти НОД двух целых чисел
Найти НОД двух целых чисел. Помогите пожалуйста)

Нахождение НОД и НОК двух чисел
Вот код программы на Паскале нужно переделать на С++ { Рекурсивные алгоритмы:...

Нужно найти НОД двух чисел
Подскажите пожалуйста. Надо найти НОД. Есть код int main() {...

Найти НОД двух произвольных чисел
1.Найти НОД двух произвольных чисел. 2. Вычислить: N S=∑│ai*bi│, где...

Нахождение НОД и сравнение двух чисел
Подскажите как реализовать нахождение НОД(наибольший общий делитель) и...

11
Daemon025
380 / 328 / 159
Регистрация: 06.12.2010
Сообщений: 894
27.06.2011, 23:38 #2
C++
1
2
3
4
5
int gcd(int a,int b)
{
    if (b==0) return a;
    else return gcd(b,a%b);
}
0
Lena _t
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 32
28.06.2011, 00:10  [ТС] #3
Простите конечно а можно сделать это что то по проще без использование этих функций
,а то честно говоря я не очень знаю их.
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
28.06.2011, 00:12 #4
Lena _t, Тут одна функция которая вызывает себя рекурсивно. Издеваетесь?
0
OstapBender
584 / 523 / 75
Регистрация: 22.03.2011
Сообщений: 1,585
28.06.2011, 00:19 #5
Lena _t, если это слишком сложно пробуй так:
цикл i от меньшего из 2-х до 0.
если на i делятся без остатка оба числа - это Нод.

выкладывай что вышло и тебе помогут!
1
Daemon025
380 / 328 / 159
Регистрация: 06.12.2010
Сообщений: 894
28.06.2011, 00:26 #6
без рекурсии:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int getGreatestCommonDivisor(int a, int b)
{
    while (true)
    {
        a = a % b;
        if (a == 0)
            return b;
        b = b % a;
        if (b == 0)
            return a;
    }
}
1
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
28.06.2011, 12:07 #7
C++
1
2
3
4
5
#include <iostream>
main(){
    int a,b;
    for (std::cin >> a >> b;b^=a^=b^=a%=b;);
    std::cout << a; }
2
Lena _t
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 32
04.07.2011, 16:45  [ТС] #8
Простите меня ,но мы еще не учили return a;.Помогите пожалуйста !
0
Daemon025
380 / 328 / 159
Регистрация: 06.12.2010
Сообщений: 894
04.07.2011, 16:59 #9
Цитата Сообщение от Lena _t Посмотреть сообщение
Простите меня ,но мы еще не учили return a;.Помогите пожалуйста !
обучение в вузе - это самообучение.
return возвращает результат, то есть НОД
1
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
04.07.2011, 17:11 #10
Вот.

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
#include<iostream>
using namespace std;
int main ( )
{setlocale(LC_ALL,"Rus");
int a,b,c;
bool g=true;
cout<<"Ввведите первое число --> ";
cin>>a;
cout<<"Ввведите второе число --> ";
cin>>b; 
 
do{
   a = a % b;
  if (a == 0)
  {c=b;
break;}
b = b % a;
if (b == 0)
{c=a;
break;}
 }while (true);
 
 
 cout<<"Результат "<<c;
 cin.get();
  cin.get();
  return 0;
}
1
Lena _t
0 / 0 / 2
Регистрация: 25.04.2011
Сообщений: 32
04.07.2011, 21:32  [ТС] #11
#include <windows.h>
#include<iostream>
using namespace std;
void main ()
{
int a,b,c;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cout<<"Ввведите первое число ";
cin>>a;
cout<<"Ввведите второе число ";
cin>>b;
do{
   a = a % b;
  if (a == 0)
  {c=b;
break;}
b = b % a;
if (b == 0)
{c=a;
break;}
 }while (true);
cout<<"Нод "<<c;
}
Правильно?
0
parkito
11 / 11 / 9
Регистрация: 22.03.2010
Сообщений: 693
05.07.2011, 08:56 #12
Cами протестируйте.
0
05.07.2011, 08:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2011, 08:56
Привет! Вот еще темы с решениями:

Функция вычислени НОД двух чисел
Люди,помогите пожалуйста!!! на завтра надо! Создайте функцию для вычисления...

Не срабатывает while (НОД для двух чисел)
начал писать программу по определению НОД для двух чисел. В ходе одного условия...

НОД двух чисел алгоритм Евклида
Найти найбольший общий делитель двух чисел по алгоритму Евклида. Использовать...

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


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

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

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