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

Dau coroana! Am nevoie doar de exemplul numeric, va rog din suflet sa îmi explicați cum se face

1. Funcţia F are definiţia alăturată. Ce valoare are F(18)?
int F(int x)
{
if (x<=1) return x; else return x+F(x-2); }

a.90 b.171 c.1 d.18

Răspunsuri la întrebare

Răspuns de radu9614
1

Răspuns:

Este o functie definita recursiv. Va apela functia pentru valori din doi in doi mai mici pana cand apeleaza pentru ceva mai mic sau egal cu 1. Sa ne uitam ce ar face functia. Incepe cu 18, si returneaza 18 + F( 16 ). F( 16 ) = 16 + F( 14 ) si tot asa. Pana la final, vom avea 18 + 16 + 14 + ... + 2 = 90. Deci raspunul corect este a, 90.

Explicație:


mirunicaioana0708: Mai am 2 întrebări asemănătoare, te rog sa ma ajuți la ele !!!!
radu9614: Acum am ore, o sa ma uit cand am timp
mirunicaioana0708: Îți multumesc dim suflet !! :)
radu9614: Npc, am raspuns si la celelalte
Alte întrebări interesante