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

Задача 16 №5731

Polina2005: import sys sys.setrecursionlimit(10000) def F(n): if n>=10000: return n elif n%4==0: return (n/4)+F(n/4+2) else: return 1+F(n+2) print(F(264)-F(7)) При решении рекурсией выводит ошибку "maximum recursion depth exceeded in comparison". Даже если повышать максимальную глубину рекурсии ответа нет. Помогите пожалуйста.

Ответов - 1

Поляков: Polina2005 пишет: При решении рекурсией выводит ошибку "maximum recursion depth exceeded in comparison". Даже если повышать максимальную глубину рекурсии ответа нет. Это сигнал свыше о том, что здесь рекурсия не нужна. Попробуйте использовать динамическое программирование с массивом.



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