Problem
Given 2 numbers, calculate the GCD of them.
Definition
GCD of two numbers is the largest number that divides both of them. A simple way to find GCD is to factorize both numbers and multiply common factors.
Examples
Example 1:
Input: a = 36, b = 60
Output: 12
Explanation:
36 = 2 x 2 x 3 x 3
60 = 2 x 2 x 3 x 5
GCD = multiplication of common factors
= 2 x 2 x 3
= 12
More examples:
GCD(10, 15) = 5
GCD(35, 10) = 5
GCD(31, 2) = 1
Method 1 - Naive
A simple solution is to Find all prime factors of given number of both numbers, then find intersection of all factors present in both numbers. Finally return product of elements in the intersection.
Method 2 - Recursive Euclidean solution with subtraction
Subtractive Euclidean Algorithm to find GCD of two numbers
Method 3 - Euclidean algorithm with modulo operator
Basic Euclidean Algorithm to find GCD of two numbers using modulo operator