![]() |
VOOZH | about |
In many competitive programming problems, we need to find greatest common divisor also known as gcd. Euclids algorithm to find gcd has been discussed here.
C++ has the built-in function for calculating GCD. This function is present in header file.
Syntax for C++14 :
Library: 'algorithm' __gcd(m, n) Parameter : m, n Return Value : 0 if both m and n are zero, else gcd of m and n.
Syntax for C++17 :
Library: 'numeric' gcd(m, n) Parameter : m, n Return Value : 0 if both m and n are zero, else gcd of m and n.
gcd(6, 20) = 2
Time Complexity: O(logn)
Auxiliary Space: O(1)
Program to Find the gcd of all numbers in a vector.
The GCD of the numbers in the vector is: 3
Time Complexity: O(k*logn)
Auxiliary Space: O(k)
Note: If either M or N is not an integer type, or if either is (possibly cv-qualified) bool, the program is ill-formed. Also, If either |m| or |n| is not representable as a value of type std::common_type_t, the behavior is undefined.
Output: Error, As the data type float is not supported by std::gcd.