Python тілінде рекурсивті функция жазылған:
def F(n):
if n == 0:
return 1
if n % 2 == 0:
return F(n - 1) + 2
return 2 * F(n - 1)
F(5) мәні неге тең?
Жауап пен талдауды көрсетуЖауап пен талдауды жасыру
Дұрыс жауап
- C20
Талдау
Рекурсияны базалық жағдайдан бастап ашамыз. F(0) = 1. n тақ болса, нәтиже екі еселенеді, n жұп болса, оған 2 қосылады. F(1) = 2 · F(0) = 2. F(2) = F(1) + 2 = 4. F(3) = 2 · F(2) = 8. F(4) = F(3) + 2 = 10. F(5) = 2 · F(4) = 20. «10» мәні F(5) емес, F(4) мәні. «18» және «22» мәндері n тақ болғанда екі еселеудің орнына 2 қосқанда немесе жұп пен тақ шарттарын шатастырғанда шығады.