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

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

Войти
Регистрация
Восстановить пароль
 
zizu
3 / 3 / 0
Регистрация: 23.12.2009
Сообщений: 94
#1

Нахождение наибольшего общего делителя двух натуральных чисел - C++

12.06.2010, 15:07. Просмотров 476. Ответов 1
Метки нет (Все метки)

1)Используя функцию NOD нахождения наибольшего общего делителя двух натуральных чисел, сократить данную обычную дробь M / N.
C++
1
2
3
4
5
6
7
8
9
10
11
12
/ / Возвращать наибольший общий делитель двух чисел
 
int NOD(int vl, int v2)
{
while (v2)
{
int temp=v2;
v2=vl%v2;
vl=temp;
}
return vl;
}
Добавлено через 2 часа 6 минут
я тут попробывал проверьте так или нет...
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.h>
#include <math.h>
 
int NOD(int vl, int v2)
{
while (v2)
{
int temp=v2;
v2=vl%v2;
vl=temp;
}
return vl;
}
 
void main()
{
    int m,n;
    cin>>m>>n;
    
    cout  << "\n" << NOD(m,n);
    
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2010, 15:07     Нахождение наибольшего общего делителя двух натуральных чисел
Посмотрите здесь:
C++ Нахождение наибольшего общего делителя и наименьшего общего кратного двух натуральных
C++ Расчет наибольшего общего делителя двух натуральных чисел используя алгоритм эвклида
Составить программу для нахождения наибольшего и наименьшего общего делителя и наименьшего общего кратного двух натуральных чисел C++
C++ Написать функции рекурсивной и не рекурсивной реализации алгоритма Евклида нахождения наибольшего общего делителя (НОД) двух натуральных чисел
C++ Нахождение наибольшего общего делителя для 6-и чисел
C++ Нахождение наибольшего общего делителя для элементов массива целых чисел
C++ Написать подпрограмму нахождения наибольшего общего делителя двух чисел
Написать программу вычисления наибольшего общего делителя двух целых чисел Dev C++ 4.9.9.2 C++
C++ Напишите рекурсивную функцию вычисления наибольшего общего делителя двух положительных целых чисел
C++ Нахождение наибольшего общего делителя
C++ Нахождение наибольшего общего делителя - почему выводит неверный итог?
Написать алгоритм нахождения наибольшего общего делителя трех чисел C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
12.06.2010, 15:29     Нахождение наибольшего общего делителя двух натуральных чисел #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
zizu,
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
36
#include <iostream>
#include <math.h>
 
void reduce(int &chisl, int &znamen)
{
    int a,b,r;
    if (chisl != 0)
    {
        a = abs(chisl);
        b = znamen;
        r = a - b * (a / b);
        while (r != 0)
        {
            a = b;
            b = r;
            r = a - b * (a / b);
        }
        if (b != 1)
        {
            chisl = chisl / b;
            znamen = znamen / b;
        }
    }
}
 
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int ch = 5 ;
    int zn = 15;
    reduce(ch,zn);
    std::cout << "числитель:" << ch << std::endl;
    std::cout << "знаменатель:" << zn << std::endl;
    return 0;
}
Ответ Создать тему
Опции темы

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