как в питоне работать с очень большими числами?
программа число 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:
Благодарю! с этим кодом все отлично теперь
Вас заинтересует
1 год назад
1 год назад
6 лет назад
6 лет назад
8 лет назад