infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Catalin din Ianuarie 13, 2014, 18:05:57



Titlul: Recursivitate
Scris de: Catalin din Ianuarie 13, 2014, 18:05:57
Salut. De ce pentru urmatoarea secventa de cod :

Cod:
int f(int n)
{
if(n>12)
return 1;
else return 1+f(n+2);
}
se afiseaza valoarea 4 pentru n=7. Explicati-mi putin pasii va rog frumos.

Se calculeaza dupa algoritmul asta:
 f(7)=1+f(9)=1+1+f(11)=1+1+1+f(13)=1+1+1+1=4  ?
Multumesc frumos.


Titlul: Răspuns: Recursivitate
Scris de: FMI Razvan Birisan din Ianuarie 13, 2014, 20:18:03
f(7) = 1 + f(9)
f(9) = 1 + f(11)
f(11) = 1 + f(13)
f(13) = 1

Și se revine...

f(11) = 2
f(9) = 3
f(7) = 4



Titlul: Răspuns: Recursivitate
Scris de: Catalin din Ianuarie 13, 2014, 20:21:52
Mersi mult. E aceeasi idee pe care am mers si eu :D  Multumesc inca o data ;)