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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.88
MoSanya
6 / 6 / 0
Регистрация: 16.10.2011
Сообщений: 226
#1

Вычисление НОД двух натуральных чисел (рекурсия) - C++

03.05.2012, 12:28. Просмотров 3331. Ответов 21
Метки нет (Все метки)

День добрый, помогите пожалуйста поправить данную прогу, надо бы избавиться от меток, короче говоря, сократить строки.

Вот сама задачка.

Составить программу нахождения НОД двух натуральных чисел
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
37
38
39
40
41
42
43
44
45
#include <stdio.h>
    #include <conio.h>
    #include <math.h>
    void main()
    {
 
     int b, m, n, r, k, k1;
     clrscr();
     printf("\n Vvedite 1-oe chislo: -->   "); scanf("%i",&m);
     printf("\n Vvedite 2-oe chislo: -->   "); scanf("%i",&n);
     m=abs(m);
     n=abs(n);
     if(m==0 && n==0)
     {
    printf("NEVERNYI VVOD \n\n");
//======================================
     goto v2;     }
 
     if(n>m)
     {
     b=n;
     n=m;
     m=b;
     }
 
     r=n%m;
     if(r==0)
     {
     printf("\n NOD(m,n)= %i", r);
     goto v2;
     }
    v1: k=m%r;
     if (k>0)
     {
     k1=r%k;
     r=k;
     k=k1;
    goto v1;
     }
     printf("\nNOD(m,n)= %i", r);
 
    v2: printf("\nNazhmite lubuyu klavishu");
 
     getch();
     }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2012, 12:28     Вычисление НОД двух натуральных чисел (рекурсия)
Посмотрите здесь:

Используя функцию нахождения НОД двух натуральных чисел, сократить обычную дробь C++
C++ Написать функции рекурсивной и не рекурсивной реализации алгоритма Евклида нахождения наибольшего общего делителя (НОД) двух натуральных чисел
Рекурсия: сложение, вычитание, деление и вычисление остатка от деления двух целых чисел C++
C++ Рекурсия: вычисление НОД
C++ Найти наибольший общий делитель (НОД) двух введенных натуральных чисел, используя алгоритм Евклида
Вычисление нок и нод переменных натуральных чисел C++
C++ Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
03.05.2012, 17:20     Вычисление НОД двух натуральных чисел (рекурсия) #21
Да, как Вы видите, в функции при определенном условии ( в данном случае если y != 0 ) вызывается сама функция.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2012, 17:24     Вычисление НОД двух натуральных чисел (рекурсия)
Еще ссылки по теме:

Нод для двух натуральных чисел с циклом for C++
C++ Подправить код. НОД двух натуральных чисел
Вычисление НОД ряда натуральных чисел C++
Нод для 2-х заданных натуральных чисел с циклом while C++
Последовательность натуральных чисел, вычисление их НОД методом Евклида C++

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

Или воспользуйтесь поиском по форуму:
MoSanya
6 / 6 / 0
Регистрация: 16.10.2011
Сообщений: 226
03.05.2012, 17:24  [ТС]     Вычисление НОД двух натуральных чисел (рекурсия) #22
Toshkarik, а, ну значит я все нормлаьно сделал, не без вашей помощи. Спасибо тогда всем большое. Взрыв мозга закончен
Yandex
Объявления
03.05.2012, 17:24     Вычисление НОД двух натуральных чисел (рекурсия)
Ответ Создать тему
Опции темы

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