👤

Am nevoie de exemplul numeric !!!!!


Se consideră subprogramul f, definit alăturat. Ce valoare are f(3713)?
int f(int n){
if(n==0)
return 0;
return f(n/10)*10+1;
}


Răspuns :

Răspuns:

f( 3713 ) = 1 + f( 371 ) * 10;

f( 371 ) = 1 + f( 37 ) * 10;

f( 37 ) = 1 + f( 3 ) * 10;

f( 3 ) = 1 + f( 0 ) * 10;

Stim ca f( 0 ) e 0, si ne intoarcem sa le inlocuim valorile de jos in sus.

=> f( 3 ) = 1;

f( 37 ) = 1 + 10 = 11;

f( 371 ) = 1 + 110 = 111;

f( 3713 ) = 1 + 1110 = 1111.

Deci raspunsul final este 1111. Asta a fost mai grea ca celelalte pe care le-ai postat, pentru ca trebuie sa iti dai seama ca trebuie sa le faci de jos in sus.

Explicație: