Buna ziua! In varianta 11 sub III din 2009 am gasit un program pe care nu-l inteleg. L-am introdus in CodeBlocks si mi-am dat seama ca afiseaza cea mai mica cifra a unui numar dar nu-mi dau seama cum o face. Ati putea, va rog sa imi explicati cum functioneaza?
int f(int n)
{
int c;
if (n==0) return 9;
else
{
c=f(n/10);
if (n%10<c) return n%10;
else return c;
}
}
Pana unde ai inteles ca sa stim cum sa te indrumam?
Sincer, nu am inteles deloc programul…
Uite un exemplu:
Fie n=2513
Trebuie sa intelegi ca n si c sunt ambele valori locale functiei. Fiecare apel de functie va avea propria „versiune” de n si c. Acesta este motivul pentru care le-am denumit c1,c2,…, n1,n2… Adica c1 si n1 sunt valori obtinute inainte de a iesi din primul apel.
Va multumesc foarte mult! Acum am inteles.