#include void put (int c) { fputc (c, stdout); } void Mod (unsigned int M, unsigned int N, unsigned int *result) { *result = M - ((M / N) * N); } void writeu (unsigned int num) { Mod (num, 10, &num); put (num + '0'); } void printstring (char *s) { int i; i = 0; while (s[i] != 0) { put (s[i]); i = i + 1; } } void newline (void) { put (10); } void Gcd (unsigned int M, unsigned int N, unsigned int *result) { unsigned int Rem; while (N > 0) { Mod (M, N, &Rem); M = N; N = Rem; } *result = M; } int main (int argc, char **argv) { unsigned int val; Gcd (45, 35, &val); printstring ("Gcd( 45, 35 ) = "); writeu (val); newline (); Gcd (1989, 1590, &val); printstring ("Gcd( 1989, 1590 ) = "); writeu (val); newline (); exit (0); return (0); }