#include int gcd(int a, int b); int gcdIter(int a, int b); int main(void) { int a,b; printf("\nGreatest common divisor\n"); printf("\nEnter the first number: \n"); scanf("%i",&a); printf("\nEnter the second number: \n"); scanf("%i",&b); printf("\nGreatest common divisor by recursion: %i\n",gcd(a,b)); printf("\nGreatest common divisor by iteration: %i\n",gcdIter(a,b)); return 0; } int gcd(int a, int b) { int r; if ((r = a % b) == 0) { return b; } else { return gcd(b,r); } } int gcdIter(int a, int b) { int minVal, maxVal, i; if (a > b) { maxVal = a; minVal = b; } else { maxVal = b; minVal = a; } i = minVal; while (i >= 1) { if (((maxVal % i) == 0) && ((minVal % i) == 0)) { return i; } else { i--; } } return i; }