Почему может не выполняться задача?
Видимых ошибок нет,но и ответ не выдаётся,эксперты,какие могут быть варианты? Задача:Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = 3×n - 3 при n <= 2; F(n) = F(n - 2) + 2×F(n – 1) + 7, если n > 2. Чему равно значение функция F(20)?
def F(n):
if n <= 2:
return F(n) == (3*n)-3
elif n > 2:
return F(n) == F(n-2)+2*F(n-1)+7
print(F(20))
Ответы (2 шт):
Автор решения: MBo
→ Ссылка
Уберите F(n) == из двух строк.
Ну нельзя же так буквально записывать задание в коде.
И elif замените на else или вообще удалите, это не вредно, но бесполезно.
Автор решения: ilya484
→ Ссылка
Ваша функция возвращает не int, а bool. Перепишите программу так:
def F(n):
if n <= 2:
return 3*n-3
return F(n-2)+2*F(n-1)+7
print(F(20))
Вывод:
52667940