Funcţia F are definiţia de mai jos. Ce valoare are F(18)?
int F(int x){ if (x<=1) return x; else return x+F(x-2); }
Va rog să-mi explicați cum a-ți făcut rezolvarea!
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
Explicație:
Intai verifica daca 18 <= 1, ceea ce este fals si intra in else pana ii va da o valoare <=1;
18 + F(16)
16 + F(14)
14 + F(12)
12 + F(10)
10 + F(8)
8 + F(6)
6 + F(4)
4 + F(2)
2+ F(0) // Verifica conditia deoarece 0<1 si urca inapoi in stiva
F(0) este 0;
2+0 =2;
4+2=6;
6+6=12;
8+12=20;
10+20=30;
12+30=42;
14+42=56;
16+56=72;
18+72=90;
Sper ca ai inteles, daca ai nelamuriri pune comment!
Alte întrebări interesante
Istorie,
8 ani în urmă
Engleza,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Arte,
9 ani în urmă