Help on built-in function setrecursionlimit in module sys:
setrecursionlimit(...)
setrecursionlimit(n)
Set the maximum depth of the Python interpreter stack to n. This
limit prevents infinite recursion from causing an overflow of the C
stack and crashing Python. The highest possible limit is platform-
dependent.
Cela ne fait que repousser le problème. Le vrai souci est que Python ne sait pas ce qu'est une récursion terminale, c'est pour cela qu'il met une limite à la profondeur de la récursion (et qu'il va consommer une mémoire proportionnelle à la profondeur de la récursion). Bon, chez moi ça segfault à partir de fac(2000), donc la mémoire utilisée viendra plus de Python que du code exécuté...
Pour mettre du code, j'ai utilisé la balise <pre>, avec l'option sous la boîte de commentaire « texte avec HTML sans retour chariot ».
[^] # Re: Pourquoi les gens critiquent toujours python avec de mauvais argumen
Posté par Frédéric Perrin (site web personnel) . En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à 4.
setrecursionlimit(...)
setrecursionlimit(n)
Set the maximum depth of the Python interpreter stack to n. This
limit prevents infinite recursion from causing an overflow of the C
stack and crashing Python. The highest possible limit is platform-
dependent.
Cela ne fait que repousser le problème. Le vrai souci est que Python ne sait pas ce qu'est une récursion terminale, c'est pour cela qu'il met une limite à la profondeur de la récursion (et qu'il va consommer une mémoire proportionnelle à la profondeur de la récursion). Bon, chez moi ça segfault à partir de fac(2000), donc la mémoire utilisée viendra plus de Python que du code exécuté...
Pour mettre du code, j'ai utilisé la balise <pre>, avec l'option sous la boîte de commentaire « texte avec HTML sans retour chariot ».