The original algorithm was described only for natural numbers and geometric lengths (real numbers), but the algorithm was generalized in the 19th century to other types of numbers, such as Gaussian integers and polynomials of one variable. With this improvement, the algorithm never necessitates more steps than five times the number of digits (base 10) of the smaller integer.

COMING SOON!

```
//
// C++ program to demonstrate Basic Euclidean Algorithm
//
// The All â–²lgorithms Project
//
// https://allalgorithms.com/math
// https://github.com/allalgorithms/cpp
//
// Contributed by: Bharat Reddy
// Github: @Bharat-Reddy
//
#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b)
{
if (a == 0)
return b;
return gcd(b % a, a);
}
int main()
{
int a,b;
cout<<"Enter 2 numbers : ";
cin>>a>>b;
int g_c_d = gcd(a,b);
cout<<"GCD is "<<g_c_d<<endl;
return 0;
}
```