Форум » Рекурсивные процедуры и функции » Задача 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: Поляков пишет: Используйте динамическое программирование или мемоизацию (запоминайте уже вычисленные значения функций в словаре). Спасибо за помощь!
полная версия страницы