#include /* Standard C Function: Greatest Common Divisor */ int gcd ( int a, int b ) { int c; while ( a != 0 ) { c = a; a = b%a; b = c; } return b; } /* Recursive Standard C Function: Greatest Common Divisor */ int gcdr ( int a, int b ) { if ( a==0 ) return b; return gcdr ( b%a, a ); } int main(void) { int a,b,c; a = 299792458; b = 6447287; c = 256964964; printf("a=%d, b=%d, c=%d\n", a,b,c); printf("gcd(a,b)=gcd(%d,%d)=%d\n", a, b, gcd(a,b)); printf("gcd(a,b)=gcdr(%d,%d)=%d\n", a, b, gcdr(a,b)); printf("gcd(a,c)=gcd(%d,%d)=%d\n", a, c, gcd(a,c)); printf("gcd(a,c)=gcdr(%d,%d)=%d\n", a, c, gcdr(a,c)); printf("gcd(c,b)=gcd(%d,%d)=%d\n", c, b, gcd(c,b)); printf("gcd(c,b)=gcdr(%d,%d)=%d\n", c, b, gcdr(c,b)); printf("gcd(a,b,c)=gcd(%d,gcd(%d,%d))=%d\n", a, b, c, gcd(a,gcd(b,c))); printf("gcd(a,b,c)=gcdr(%d,gcdr(%d,%d))=%d\n", a, b, c, gcdr(a,gcdr(b,c))); return 0; }