Das Rekursionslimit von Python kann nicht geändert werdenPython

Python-Programme
Guest
 Das Rekursionslimit von Python kann nicht geändert werden

Post by Guest »

sys.setrecursionlimit ist auf 20000 eingestellt, aber ich erhalte die Fehlermeldung „996 weitere Male“, obwohl das Limit auf eine größere Zahl gesetzt ist

Code: Select all

import sys
from functools import *

sys.setrecursionlimit(20000)

@lru_cache(None)
def f(n):
if n  3:
if n % 2 == 0:
return f(n - 2) + (n / 2) - f(n - 4)
else:
return f(n - 1) * n + f(n - 2)

result = f(4952) + 2 * f(4958) + f(4964)
print(result)
Fehler:

Code: Select all

Traceback (most recent call last):
File "-", line 21, in 
result = f(4952) + 2 * f(4958) + f(4964)
^^^^^^^
File "-", line 14, in f
return f(n - 2) + (n / 2) - f(n - 4)
^^^^^^^^
File "-", line 14, in f
return f(n - 2) + (n / 2) - f(n - 4)
^^^^^^^^
File "-", line 14, in f
return f(n - 2) + (n / 2) - f(n - 4)
^^^^^^^^
[Previous line repeated 996 more times]
RecursionError: maximum recursion depth exceeded
die Antwort sollte 9200 sein
Warum ändert sys.setrecursionlimit das Limit nicht?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post