Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
1

Вычислить НОД

17.11.2012, 23:55. Просмотров 894. Ответов 6
Метки нет (Все метки)

Здравствуйте, у меня появилась проблема, написал программу которая вычисляет НОД, но функция не вызывает себя второй раз...
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
#include <iostream>
#include <conio.h>
using namespace std;
 
void NOD(int, int);
int main()
{
    int K, L;
    cin >> K >> L;
    NOD(K, L);
    getch();
    return 0;
}
void NOD(int a, int b)
{
    if (a > b) 
        a = a -b;
    else b = b - a;
    if (b == 0)
    {
        cout << a;
        return;
    }
    NOD(a, b);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2012, 23:55
Ответы с готовыми решениями:

Подскажите где ошибка в нахождени НОД. Вводятся два числа a b и они должны лежать в промежутке d1 d2. с-НОД
#include &quot;stdafx.h&quot; #include #include #include #include #include #include // для system...

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

Вычислить НОД (наибольший общий делитель) двух целых чисел
1. Написать программу, вычисляющую НОД (наибольший общий делитель) двух целых чисел. Поиск НОД...

Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B
Задача 4. Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B.

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

6
tokar2
25 / 25 / 11
Регистрация: 09.11.2012
Сообщений: 229
18.11.2012, 00:02 2
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.h>
using namespace std;
 
void NOD(int, int);
int main()
{
    int K, L;
    cin >> K >> L;
    NOD(K, L);
    getch();
    return 0;
}
void NOD(int a, int b)
{
    while ((a != 0) && (b != 0))
    {
        (a > b) ? (a %= b) : (b %= a);
    }
    if (a != 0)
        cout<< a<<"\n";
    else
        cout<< b<<"\n";
        cin>>a>>b;
        NOD(a,b);
}
1
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
18.11.2012, 00:07  [ТС] 3
C++
1
  (a > b) ? (a %= b) : (b %= a);
Объясни строчку пожалуйста
0
tokar2
25 / 25 / 11
Регистрация: 09.11.2012
Сообщений: 229
18.11.2012, 00:09 4
это аналог
C++
1
2
3
 if (a > b) a %= b;
        else
          b %= a;
1
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
18.11.2012, 00:13  [ТС] 5
Твоя пример не работает, у меня выводится 1 число и все...
0
tokar2
25 / 25 / 11
Регистрация: 09.11.2012
Сообщений: 229
18.11.2012, 00:13 6
Цитата Сообщение от d3n1sk4 Посмотреть сообщение
Твоя пример не работает, у меня выводится 1 число и все...
а сколько должно вывести?
0
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
18.11.2012, 00:22  [ТС] 7
Цитата Сообщение от tokar2 Посмотреть сообщение
а сколько должно вывести?
Извени я запутался мальца

Добавлено через 6 минут
C++
1
(a > b) ? (a %= b) : (b %= a);
И еще вопрос, почему тут стоит %? ведь нужно же поидее -?
0
18.11.2012, 00:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 00:22

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

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

НОД
Нужно доработать код, чтобы находить НОД трех чисел, пожалуйста) #include &lt;iostream&gt; #include...


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

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

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