Предмет: Информатика,
автор: 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:
Благодарю! с этим кодом все отлично теперь
Похожие вопросы
Предмет: Английский язык,
автор: Antoni2505
Предмет: Русский язык,
автор: MistiLi
Предмет: Русский язык,
автор: ahmad1404
Предмет: Русский язык,
автор: alisanizhnyinovgorod
Предмет: Английский язык,
автор: bob4299