/**********************************************
Revisiting the GCD. The way Euclid would've
phrased his GCD algorithm would be more like this:
If A and B (okay, he was greek, so it probably
would've been alpha and beta ...) are two
integers with A >= B >= 0 then the GCD of
A and B is given by:
* if B = 0 then the GCD is A
* if B > 0 then the GCD is the same as
the GCD of B and A%B.
Using this phrasing of the algorithm, implement
the GCD as a recursive function.
**********************************************/
#include <iostream>
using namespace std;
int GCD(int,int);
int main()
{
// Get int's
int x, y, z;
cout << "Enter two int's: ";
cin >> x >> y;
// Compute and print GCD
z = GCD(x,y);
cout << "GCD is " << z << endl;
return 0;
}
int GCD(int A, int B)
{
int g;
if (B == 0)
g = A; // BASE CASE
else
g = GCD(B,A%B); // RECURSIVE CASE
return g;
}