Informatică, întrebare adresată de ghiur07danieloziut1, 8 ani în urmă

Imi poate explica cineva cum este parcurs programul urmator pentru f(23951)?

int f(int n)
{
if (n==0)
return 0;
else
{
int c=f(n/10);
if(n%10>c)
return n%10;
else
return c;
}
Ce valoare ia c, dat fiind ca f(n/10) nu a ajuns la final, ca sa returneze ceva?


cosmaandra2000: dupa parerea mea ceva nu e ok in exerciul asta :)) sau poate imi scapa ceva
boiustef: intoarce cifra maxima din numar, adica 9
cosmaandra2000: aaa am pus acum pe foaie
boiustef: :)))

Răspunsuri la întrebare

Răspuns de cosmaandra2000
2

Acea variabila c, o faci separat, pentru ca la un moment dat vei ajunge la un rezultat.

Am scris functia, apoi c-ul, si apoi conditia la care sa ma intorc cand termin. Am facut asta pentru fiecare n. De exemplu f(23) a returnat 3 iar c-ul devine 3. Adica dupa ce ai scris tot, rezolvi inlocuind de jos in sus.

Anexe:
Alte întrebări interesante