Find GCD of two numbers

Data StructureMathematical ProblemsAlgorithms

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

Example

#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
raja
Published on 12-Jul-2018 06:34:06
Advertisements