In mathematics, Greatest Common Divisor (GCD) is the largest possible integer, that divides both of the integers. The condition is that the numbers must be non-zero.
We will follow the Euclidean Algorithm to find the GCD of two numbers.
Input and Output
Input:
Two numbers 51 and 34
Output:
The GCD is: 17
Algorithm
findGCD(a, b)
Input: Two numbers a and b.
Output: GCD of a and b.
Begin
if a = 0 OR b = 0, then
return 0
if a = b, then
return b
if a > b, then
return findGCD(a-b, b)
else
return findGCD(a, b-a)
End
Source Code (C++)
#include<iostream>
using namespace std;
int findGCD(int a, int b) { //assume a is greater than b
if(a == 0 || b == 0)
return 0; //as a and b are 0, the greatest divisior is also 0
if(a==b)
return b; //when both numbers are same
if(a>b)
return findGCD(a-b, b);
else
return findGCD(a, b-a);
}
int main() {
int a, b;
cout << "Enter Two numbers to find GCD: "; cin >> a >> b;
cout << "The GCD is: " << findGCD(a,b);
}
Output
Enter Two numbers to find GCD: 51 34
The GCD is: 17