martedì 5 ottobre 2004

Quiz per presunti programmatori

Quizzotto algoritmico (mi perdoni chi non è "del mestiere"): anni e anni fa, quando ancora era in grado di ragionare, il nostro czap mise insieme il seguente algoritmo, che permette di calcolare una ben nota funzione matematica intera di 2 numeri interi positivi: chi sa dirmi che cosa calcola il sottoindicato algoritmo ? nei commenti a questo post, please .. risposta, domani.

versione ricorsiva:

int czap(int x, int y) {
if ((x<=0)||(y<=0)) return(0);
if (x == y) return(x);
if (x < y) return(czap(x,y-x));
else return(czap(y,x-y));
}

versione non ricorsiva:

int czap(int x, int y) {
if ((x<=0)||(y<=0)) return(0);
while (x != y)
if (x < y) y = y-x;
else x = x-y;
return(x);
}

© (czap) Ecco fatto.