Форум » Рекурсивные процедуры и функции » Задача 2263 » Ответить

Задача 2263

Andrew: Написал программу для решения данной задачи. Выполняется программа очень долго. Подскажите, пожалуйста, как нужно оптимизировать программу или же она так долго и должна выполняться? [pre2] def G(n): if n == 1: return 1 if n >= 2: return F(n-1) + G(n-1) + n def F(n): if n == 1: return 1 if n >= 2: return F(n-1) - 2 * G(n-1) print(G(36)) [/pre2]

Ответов - 2

Поляков: Используйте динамическое программирование или мемоизацию (запоминайте уже вычисленные значения функций в словаре).

Andrew: Поляков пишет: Используйте динамическое программирование или мемоизацию (запоминайте уже вычисленные значения функций в словаре). Спасибо за помощь!



полная версия страницы