Posted on February 5, 2010 by kturley This piece of code can determine the GCD of two numbers by applying the euclidean algorithm recursively. // euclid.cpp : main project file. #include <iostream> #include <string> #include <fstream> #include <iomanip> //required to use setw() using namespace std; void setOrder(int num1, int num2); int GCD(int num1, int num2); int main(void) { int num1 = 27; int num2 = 18; setOrder(num1,num2); cout << GCD(num1,num2)<<endl; system("pause"); return 0; } void setOrder(int num1, int num2) { if(num1>num2) { int tempswap = num1; num1 = num2; num2 = tempswap; } } int GCD(int num1, int num2) { if(num1%num2 ==0) { return num2; } return (GCD(num2,(num1%num2))); }