std :: gcd | Встроенная функция C ++ для поиска GCD
Во многих задачах конкурентного программирования нам нужно найти наибольший общий делитель, также известный как gcd . Алгоритм Евклида для поиска gcd обсуждался здесь.
В C ++ есть встроенная функция вычисления НОД. Эта функция присутствует в заголовочном файле.
Синтаксис для C ++ 14:
Библиотека: 'алгоритм' __gcd (м, п) Параметр: m, n Возвращаемое значение: 0, если m и n равны нулю, иначе gcd m и n.
Синтаксис для C ++ 17:
Библиотека: 'числовая' gcd (m, n) Параметр: m, n Возвращаемое значение: 0, если m и n равны нулю, иначе gcd m и n.
CPP
// CPP program to illustrate // gcd function of C++ STL #include <iostream> #include <algorithm> // #include<numeric> for C++17 using namespace std; int main() { cout << "gcd(6, 20) = " << __gcd(6, 20) << endl; // gcd(2.0,8) for C++17 } |
gcd (6, 20) = 2
Примечание. Если M или N не являются целочисленными типами или имеют (возможно, cv-квалификацию) bool, программа имеет неправильный формат. Кроме того, если | m | или | n | не может быть представлен как значение типа std :: common_type_t, поведение не определено.
CPP
// CPP program to illustrate // undefined behavior of // gcd function of C++ STL #include <iostream> #include <algorithm> // #include<numeric> for C++17 using namespace std; int main() { cout << "gcd(6, 20) = " << __gcd(2.0, 8) << endl; // gcd(2.0,8) for C++17 } |
Выход:
Ошибка, поскольку тип данных float не поддерживается std :: gcd.
Эта статья предоставлена Pratik Chhajer. Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью, используя write.geeksforgeeks.org, или отправить свою статью по адресу электронной почты: deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.