Dau coroana! Am nevoie doar de exemplul numeric, va rog din suflet sa îmi explicați cum se face
2. Se consideră subprogramul, f, definit alăturat. Ce valoare are f(20)?
int f(int n)
{ if (n==0) return 0;
return n%2+f(n/2);
}
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
Programul se opreste cand x este 0. Pana atunci, returneaza 1 + f( n / 2 ), daca n e impar si 0 + f ( n / 2 ), daca n e par ( pentru ca operatia n % 2 returneaza 0 daca n = par ). Bun, deci incepem cu 20 => f( 20 )= 0 + f( 10 ) = 0 + 0 + f( 5 ) = 0 + 0 + 1 + f( 2 ) = 1 + f( 1 ) = 1 + 1 + f( 0 ) = 2 + 0 = 2. Raspunsul final este 2
Explicație:
Daca mai ai vreo intrebare despre cum functioneaza functiile astea recursive intreaba-ma aici.
mirunicaioana0708:
Îți multumesc din suflet <333333
Alte întrebări interesante
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Engleza,
8 ani în urmă
Franceza,
8 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă