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

Рекурсия (НОД) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Напечатать столбиком значения sin2,sin3,...,sin20 http://www.cyberforum.ru/cpp-beginners/thread407490.html
Напечатать столбиком значения sin2,sin3,...,sin20
C++ строки написать программу,которая выводит на экран из введенного пользователем текста,только цитаты,то есть предложения,заключенные в ковычки http://www.cyberforum.ru/cpp-beginners/thread407482.html
"Куча Орехов" C++
http://acm.timus.ru/problem.aspx?space=1&num=1644 Десять больших грецких орехов — это, конечно, целая куча! А два ореха — совсем мало, ни о какой куче здесь не может идти и речи. А как насчёт шести орехов? Много это или мало? Попугай между тем уже давно ответил для себя на этот вопрос: «Мало — это когда всё съел и ещё хочется, а куча — это когда больше уже не хочется.» Попугай любит покушать, но...
C++ [C++] есть ли в столбце двумерной матрицы равные элементы
Нужно написать функцию которая определяет есть ли в столбце двумерной матрицы равные элементы и выводит номера этих столбцов
C++ Почему не работает программа? Структуры http://www.cyberforum.ru/cpp-beginners/thread407466.html
Признаю, что я нуб, но, пожалуйста, помогите найти ошибку :( Программа считывает значения, но не выводит результат. Даны массивы PR1…PR9 – наименования предприятий, T1…T9 – темпы роста производительности труда за 1 год. Напечатать список предприятий у которых темпы роста производительности труда за год выше средних по всей группе предприятий. #include <iostream> #include <conio.h>...
C++ работа с текстовыми файлами, C++ Дан текстовый файл. Напечатать все строки, длина которых меньше заданного числа. подробнее

Показать сообщение отдельно
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
14.12.2011, 23:32     Рекурсия (НОД)
Участник форума accept в этом посте приводил хорошую функцию НОДа.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
 
int calc_gcd( int a, int b ) {
    return b == 0 ? ( a == 0 ? 0 : abs( a ) ) : abs( calc_gcd( b, a % b ) );
}
 
int main( void ) {
    int a, b, gcd;
    puts( "Введите два целых числа через пробел" );
    scanf( "%d%d", &a, &b );
    gcd = calc_gcd( a, b );
    gcd ?
            printf( "Наибольший общий делитель этих чисел = %d", gcd )
            :
            puts( "Не существует наибольшего общего делителя для этих чисел" );
    return EXIT_SUCCESS;
}
 
Текущее время: 04:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru