Det är inte många som vet, men python erbjuder en direkt funktion som kan beräkna faktorialen för ett tal utan att skriva hela koden för att beräkna faktorial.
Naiv metod för att beräkna factorial
Python3
# Python code to demonstrate naive method> # to compute factorial> n> => 23> fact> => 1> for> i> in> range> (> 1> , n> +> 1> ):> > fact> => fact> *> i> print> (> 'The factorial of 23 is : '> , end> => '')> print> (fact)> |
>
>Produktion
The factorial of 23 is : 25852016738884976640000>
Tidskomplexitet: På)
Hjälputrymme: O(1)
Använder math.fatorial()
Denna metod definieras i matematik modul av python. Eftersom den har intern implementering av C-typ är den snabb.
supw
math.factorial(x) Parameters : x : The number whose factorial has to be computed. Return value : Returns the factorial of desired number. Exceptions : Raises Value error if number is negative or non-integral.>
Python3
# Python code to demonstrate math.factorial()> import> math> print> (> 'The factorial of 23 is : '> , end> => '')> print> (math.factorial(> 23> ))> |
>
>Produktion
The factorial of 23 is : 25852016738884976640000>
Tidskomplexitet: På)
Hjälputrymme: O(1)
Undantag i math.factorial()
- Om det angivna siffran är negativ:
Python3
# Undantag ( Icke-integralt tal )
importera matematik
print(Faktoriet för 5.6 är: , end=)
# höjer undantag
print(math.fatorial(5.6))
>
>
Produktion:
Traceback (most recent call last): File '/home/f29a45b132fac802d76b5817dfaeb137.py', line 9, in print (math.factorial(-5)) ValueError: factorial() not defined for negative values>
- Om det angivna numret är icke-integralvärde:
Python3
>
>
Produktion:
Traceback (most recent call last): File '/home/3987966b8ca9cbde2904ad47dfdec124.py', line 9, in print (math.factorial(5.6)) ValueError: factorial() only accepts integral values>