/* Euklidov algoritam za odredjivanje NZD - preko deljenja -
   rekurzivna definicija*/
#include <stdio.h>

/* O rekurziji vise u kursu P2 - predstavlja prirodan nacin za
   formulaciju nekih algoritama. */
unsigned nzd(unsigned a, unsigned b) {
  /* printf("%u, %u\n", a, b); */
  if (b == 0)
	return a;
  else
	return nzd(b, a % b);
}

int main() {
  unsigned a = 105, b = 252;
  printf("NZD(%u, %u) = %u\n", a, b, nzd(a, b));
  return 0;
}