Ребята, помогите решить! ❌

0 голосов
58 просмотров

Ребята, помогите решить! ❌


image

Информатика (61 баллов) | 58 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Пусть G(n) - количество звёздочек, выводимое F(n)

Если n > 0, то G(n) = 2 + 2G(n - 2) + G(n div 2) (сначала выводится 1 звездочка, потом ещё одна, затем дважды столько, сколько выводит F(n - 2), а затем еще столько, сколько выводит F(n div 2))
Если n <= 0, то G(n) = 1<br>
G(6) = 2 + 2G(4) + G(3)
G(4) = 2 + 3G(2)
G(3) = 2 + 3G(1)
G(2) = 2 + 2G(0) + G(1)
G(1) = 2 + 2G(-1) + G(0)

Вспомнив, что G(-1) = G(0) = 1, начинаем заполнять с конца:
G(1) = 2 + 2 + 1 = 5
G(2) = 2 + 2 + 5 = 9
G(3) = 2 + 3*5 = 17
G(4) = 2 + 3*9 = 29
G(6) = 2 + 2*29 + 17 = 77

Ответ. 77.

(148k баллов)