#include <stdio.h> 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); }