Robiąc zadanie "NWD" z naszego polskiego SPOJ'a i męcząc się z nim długo, postanowiłem poszukać informacji o jego wykonaniu w Internecie. Znalazłem taką o to funkcję:
int nwd(int a, int b)
{
if (b!=0) return nwd(b, a%b);
return a;
}
Teraz pytanie... Jak ona dokładnie działa? Czy mógłby ktoś mi to łopatologicznie wytłumaczyć? Co dzieje się krok po kroku? Jak zmieniają się a i b?
Z góry dziękuję!