/********************************************** 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; }