👤

Se consideră subprogramul alăturat:

int f(int a,int b)

{if(b<1) return -1;

else

if (a&b==0)

return 1+f(a/b,b);

else

return 0;

}


Ce valoare are f(15,2)? Dar f(128,2)?

Ce face return -1?


Se Consideră Subprogramul Alăturatint Fint Aint Bifblt1 Return 1else If Aampb0 Return 1fabb Else Return 0Ce Valoare Are F152 Dar F1282 Ce Face Return 1 class=

Răspuns :

Răspuns:

La primul apel iti returneaza din start 0 pentru ca 15%2 !=0.

La al doilea cat "a" se imparte exact la "b", returneaza aceeasi chestie si se opreste in momentul in care "a" nu se mai imparte exact la "b". 1%2!=0

Algoritmul asta il scrie de fapt pe 128 ca putere a lui 2. Adica 2^7

Explicație:

Return -1, pur si simplu returneaza -1.

Vezi imaginea COSMAANDRA2000