Informatică, întrebare adresată de galberto, 9 ani în urmă

Subprogramul f este definit alaturat.
Ce valoare are f(8,4)?
int f (int x, int y)
{ if (x<y) return 1+f(x+1,y);
  if (y<x) reutrn 1+f(y+1,x);
return 1;
}

Răspunsuri la întrebare

Răspuns de mmnicular
1
cred ca raspunsul este 5

f (8,4) = f (5, 8) + 1 deoarece 4 > 8 (x > y)
f (5, 8) = f (6, 8) + 1 deoarece 5 < 8 (x < y)
f (6, 8) = f (7, 8) + 1 deoarece 6 < 8 (x < y)
f (7, 8) = f (8, 8) + 1 deoarece 7 < 8 (x < y)
f (8, 8) = 1 deoarece in celelalte functii return 1 a fost omis deoarece s-a returnat alt numar inainte iar in acesta functie niciunul dintre if-uri nu isi executa comanda deci instructiunea "return 1" va fi executata
Alte întrebări interesante