Предмет: Информатика,
автор: nikolaenkooksana113
как в питоне работать с очень большими числами?
программа число 13 выходит, а 1300 уже выдает ошибку
как исправить?
def f(n):
if n==1: return 1
if n>1: return n*f(n-1)
print (f(1300))
Ответы
Автор ответа:
1
Объяснение:
В ошибке же всё понятно сказано. Ты вызываешь такое большое количество рекурсий (функция запускает саму себя), что Python на всякий случай душит твой скрипт для недопущения переполнения памяти. Защита от созданных по ошибке бесконечных рекурсий. По умолчанию лимит установлен в 1000 рекурсий.
Если ты понимаешь, что делаешь, то можно перед основным кодом вызвать модуль sys и указать иной лимит рекурсий:
import sys
sys.setrecursionlimit(1500) # не более 1500 рекурсий
nikolaenkooksana113:
Благодарю! с этим кодом все отлично теперь
Похожие вопросы
Предмет: Русский язык,
автор: Аноним
Предмет: Английский язык,
автор: galcevviktor
Предмет: Русский язык,
автор: veronichkameln1
Предмет: Русский язык,
автор: alisanizhnyinovgorod
Предмет: Английский язык,
автор: bob4299