Трябва да създам връзка на повтаряне, за да уловя броя на сравненията, извършени в този алгоритъм:
Func(n)
if n = 1
print "!"
return 1
else
return Func(n-1) * Func(n-1) * Func(n-1)
Това е, което измислих - но изглежда не мога да разбера какво съм направил грешно...
Основен случай: M(1) = 0
M(n) = 3[M(n-1)]
= 3[3[M(n-2)]]
= 3[3[3[M(n-3)]]]
= 3^i[M(n-i)]
i = n-1 //to get base case
M(n) = 3^(n-1)[M(n-(n-1))]
= 3^(n-1)[M(1)]
= 3^(n-1)[0]
= 0 //????????????
Моят основен случай грешен ли е? Ако да защо? Моля и ви благодаря за помощта.