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

Вычислить НОД - C++

17.11.2012, 23:55. Просмотров 884. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычислить НОД (C++):

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

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

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

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

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
Привет! Вот еще темы с решениями:

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

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

Нод
Даны два числа a и b. Найти их НОД (наибольший общий делитель). ...

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


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

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

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