Pentru funcţiile f şi g definite mai jos, stabiliţi care este rezultatul returnat la apelul f(6)?
long g(long x)
{ if (x>9)
return (x/10 + x%10);
else
return x;
}
long f(int c)
{ if (c<1)
return 1;
else
return g(c+f(c-1));
}
Ajutor va rog, rezultatul da 4, insa mie imi da 3 si vreau sa vad ce saracie gresesc ca nu-mi dau seama.
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
4
Explicație:
f(6) = g(6+f(5))
f(5) = g(5+f(4))
f(4) = g(4+f(3))
f(3) = g(3+f(2))
f(2) = g(2+f(1))
f(1) = g(1+f(0))
f(0) = 1 --> f(1) = g(1+1) = g(2)
g(2) = 2 --> f(1) = 2
f(2) = g(2+2) = g(4) = 4
f(3) = g(3+4) = g(7) = 7
f(4) = g(4+7) = g(11) = 2
f(5) = g(5+2) = g(7) = 7
f(6) = g(6+7) = g(13) = 4
Alexandru987:
Multumesc!
Alte întrebări interesante
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă