Users Online

· Guests Online: 42

· Members Online: 0

· Total Members: 188
· Newest Member: meenachowdary055

Forum Threads

Newest Threads
No Threads created
Hottest Threads
No Threads created

Latest Articles

C++ Program to Find GCD of Two Numbers Using Recursive Euclid Algorithm

C++ Program to Find GCD of Two Numbers Using Recursive Euclid Algorithm

 

 

This is a C++ Program to find GCD of two numbers using Recursive Euclid Algorithm. In mathematics, the Euclidean algorithm, or Euclid’s algorithm, is a method for computing the greatest common divisor (GCD) of two (usually positive) integers, also known as the greatest common factor (GCF) or highest common factor (HCF). It is named after the Greek mathematician Euclid, who described it in Books VII and X of his Elements.

 

The GCD of two positive integers is the largest integer that divides both of them without leaving a remainder (the GCD of two integers in general is defined in a more subtle way).

In its simplest form, Euclid’s algorithm starts with a pair of positive integers, and forms a new pair that consists of the smaller number and the difference between the larger and smaller numbers. The process repeats until the numbers in the pair are equal. That number then is the greatest common divisor of the original pair of integers.

The main principle is that the GCD does not change if the smaller number is subtracted from the larger number. For example, the GCD of 252 and 105 is exactly the GCD of 147 (= 252 – 105) and 105. Since the larger of the two numbers is reduced, repeating this process gives successively smaller numbers, so this repetition will necessarily stop sooner or later — when the numbers are equal (if the process is attempted once more, one of the numbers will become 0).

Here is source code of the C++ Program to Find GCD of Two Numbers Using Recursive Euclid Algorithm. The C++ program is successfully compiled and run on a Linux system. The program output is also shown below.

  1. #include<iostream>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4.  
  5. using namespace std;
  6. int gcd(int u, int v)
  7. {
  8.     return (v != 0) ? gcd(v, u % v) : u;
  9. }
  10.  
  11. int main(void)
  12. {
  13.     int num1, num2, result;
  14.     cout << "Enter two numbers to find GCD using Euclidean algorithm: ";
  15.     cin >> num1 >> num2;
  16.     result = gcd(num1, num2);
  17.     if (gcd)
  18.         cout << "\nThe GCD of " << num1 << " and " << num2 << " is: " << result
  19.                 << endl;
  20.     else
  21.         cout << "\nInvalid input!!!\n";
  22.     return 0;
  23. }

Output:

$ g++ GCDEuclidean.cpp
$ a.out
 
Enter two numbers to find GCD using Euclidean algorithm: 12 30
The GCD of 12 and 30 is: 6

 

Comments

No Comments have been Posted.

Post Comment

Please Login to Post a Comment.

Ratings

Rating is available to Members only.

Please login or register to vote.

No Ratings have been Posted.
Render time: 0.82 seconds
10,820,659 unique visits