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

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

Восстановить пароль Регистрация
 
lerka1996
2 / 2 / 0
Регистрация: 04.03.2015
Сообщений: 76
07.10.2015, 16:55     Напишите рекурсивную функцию вычисления наибольшего общего делителя двух положительных целых чисел #1
(Greatest Common Divisor, GCD). Для этого воспользуйтесь следующими свойствами:

GCD(a,b)=GCD(b,amodb)
GCD(0,a)=a
GCD(a,b)=GCD(b,a)
Требования к реализации: в данном задании запрещено пользоваться циклами. Вы можете заводить любые вспомогательные функции, если они вам нужны. Функцию main определять не нужно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2015, 16:55     Напишите рекурсивную функцию вычисления наибольшего общего делителя двух положительных целых чисел
Посмотрите здесь:

Написать рекурсивную функцию вычисления Наибольшего общего делителя C++
Создать функцию для вычисления наибольшего общего делителя двух чисел Matlab
Java Написать программу вычисления наибольшего общего делителя двух целых чисел
Turbo Pascal Написать рекурсивную функцию вычисления наибольшего общего делителя
Написать программу вычисления наибольшего общего делителя двух целых чисел Dev C++ 4.9.9.2 Java
Написать программу вычисления наибольшего общего делителя двух целых чисел Dev C++ 4.9.9.2 C++
Написать функцию нахождения наибольшего общего делителя двух чисел PascalABC.NET
Составить блок-схему алгоритма вычисления наибольшего общего делителя двух чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1855 / 1651 / 574
Регистрация: 14.05.2014
Сообщений: 4,726
Записей в блоге: 1
Завершенные тесты: 5
07.10.2015, 16:58     Напишите рекурсивную функцию вычисления наибольшего общего делителя двух положительных целых чисел #2
lerka1996,
C++
1
2
3
4
5
6
int gcd (int a, int b) { 
    if (b == 0) 
        return a; 
    else 
        return gcd (b, a % b); 
}
можно короче
C++
1
2
3
int gcd (int a, int b) { 
return !b ? a : gcd (b, a % b); 
}
ture
 Аватар для ture
404 / 297 / 120
Регистрация: 27.11.2014
Сообщений: 1,004
07.10.2015, 17:22     Напишите рекурсивную функцию вычисления наибольшего общего делителя двух положительных целых чисел #3
C++
1
2
3
4
5
6
7
8
9
10
11
unsigned gcd(unsigned a, unsigned b)
{
    if(a == 0)
        return b;
    else if(b == 0)
        return a;
    else if(a > b)
        return gcd(b, a % b);
    else
        return gcd(a, b % a);
}
Yandex
Объявления
07.10.2015, 17:22     Напишите рекурсивную функцию вычисления наибольшего общего делителя двух положительных целых чисел
Ответ Создать тему
Опции темы

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