Forum
>>
Principianti
>>
Quando si calcola il fattoriale, c'è una restrizione di ricorsione.
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Mobo01 |
2023-03-24 12:25:51 - Quando si calcola il fattoriale, c'è una restrizione di ricorsione.
|
Sto tentando di sviluppare un programma Python che calcoli il fattoriale di un numero intero. Ho creato il seguente codice:
def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) Quando eseguo questo codice con un numero significativo di input, ad esempio 100, ottengo un RecursionError. Questo perché il limite di ricorsione di Python è stato superato. Ho letto in questa pagina che avrei potuto usare la libreria matematica per superare il problema di raggiungere il limite di ricorsione quando si calcola il fattoriale di grandi numeri in Python. Ma devo capire come metterlo in atto. Qualcuno può aiutare? Grazie in anticipo per la vostra assistenza! |
|
Scritto da nuzzopippo |
2023-03-24 17:20:09 - Re: Quando si calcola il fattoriale, c'è una restrizione di ricorsione.
|
potresti, p.e., NON utilizzare la ricorsione e seguire proprio l'indicazione della regola di calcolo del fattoriale come esposta nella pagina da Te indicata, ad esempio, la funzione da Te esposta da errore di ricorsione per 10000, procedendo da 10000 ad 1 in un ciclo while l'errore non avverrebbe (perché non vi è ricorsione)
factorial(10000) Traceback (most recent call last): File "<pyshell#7>", line 5, in factorial File "<pyshell#7>", line 5, in factorial File "<pyshell#7>", line 5, in factorial [Previous line repeated 996 more times] File "<pyshell#7>", line 2, in factorial RecursionError: maximum recursion depth exceeded in comparison def my_factorial(n): compute = 1 while n > 1: compute *= n n -= 1 return compute my_factorial(3) 6 my_factorial(10000) 28462596809170545189064... (tanta roba)per altro, esistono molti altri modi possibili per calcolarsi fattoriali con python, cercando un po' idee ne vengono Fatti non foste a viver come bruti... |
|
Scritto da Gulshan Negi |
2023-04-25 12:57:39 - When calculating the factorial, there is a recursion restriction.
|
Hello this is Gulshan Negi
Well, I searched about it on the internet and I found that Recursion limit errors are not an issue when calculating the factorial of large numbers with Python's math library. The numerical library gives a capability called factorial() that you can utilize straightforwardly. An illustration of how to use the math library in your code is as follows: import math def factorial(n): if n < 0: raise ValueError("Factorial is not defined for negative numbers.") elif n == 0: return 1 else: return math.factorial(n) I hope it is clear now. Thanks |
|
Scritto da data1science1 |
2024-02-28 14:10:42 - Re: Quando si calcola il fattoriale, c'è una restrizione di ricorsione.
|
Pagina: 1
Esegui il login per scrivere una risposta.