de ce programul
void f(int x)
{
if(x>0)
if(x%4==0)
{
cout<<'x';
f(x-1);
}
else
{
f(x/3);
cout<<'y';
}
}
pt f(26) afiseaza xyyy si nu yxyy
Razzvy:
Pentru ca in cazul al doilea, unde x este divizibil cu 3, mai intai se apeleaza functia recursiva si apoi se afiseaza y. De aceea, y-urile vor fi mereu la sfarsit.
Răspunsuri la întrebare
Răspuns de
6
x=26
26%4==0 (F)
x=8
8%4==0 (A)
se afiseaza un x si apelezi f(x-1)
x=7
7%4==0 (F)
x=2
2%4==0 (F)
x=0 (aici se termina)
si acum iti afiseaza fiecare y (pt f(2), f(7) si f(26))
gen cand ai cout dupa apelarea functiei asteapta sa se termine apelarea (in cazul asta dupa ce x devine 0 se opreste)
Alte întrebări interesante
Geografie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă