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

Va rog, știe cineva?

Anexe:

Răspunsuri la întrebare

Răspuns de radu9614
1

Răspuns:

Raspunsul este 6. Daca ai nevoie de explicatie iti zic in comentarii.

Explicație:


Beatrice2131: Da te rog, cum ai ajuns la răspunsul 6?
radu9614: Bun, deci este o functie recursiva, adica se apeleaza pe ea insasi, doar ca cu valori diferite. Sa ne uitam cand s-ar opri functia, adica nu ar mai apela alte etape: cand m nu se mai divide cu n, adica cand m nu mai este par. La inceput, intram cu 288 si 2.
radu9614: Se returneaza 1 + f( 144, 2 ) = 1 + 1 + f( 72, 2 ) = 1 + 1 + 1 + f( 36, 2 ) = 1 + 1 + 1 + 1 + f( 18, 2 ) = 1 + 1 + 1 + 1 + 1 + f( 9, 2 ) = 5 + f( 9, 2 ). Aici m nu mai este par, deci intra pe al doilea if, si returneaza 1. Deci, in final avem 5 + 1 = 6.
radu9614: Sper ca te-a ajutat. Daca mai ai nelamuriri, intreaba-ma.
Beatrice2131: Mulțumesc frumos! Chiar am înțeles ce mi ai explicat
radu9614: Cu placere! :)
Alte întrebări interesante