Det er ikke mange, der ved det, men python tilbyder en direkte funktion, der kan beregne et tals factorial uden at skrive hele koden til beregning af factorial.
Naiv metode til at beregne 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>
Tidskompleksitet: På)
Hjælpeplads: O(1)
Brug af math.fatorial()
Denne metode er defineret i matematik modul af python. Fordi den har C-type intern implementering, er den hurtig.
kommando touch i linux
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>
Tidskompleksitet: På)
Hjælpeplads: O(1)
Undtagelser i math.fatorial()
- Hvis det angivne tal er negativt:
Python3
# Undtagelser ( ikke-integral tal)
importere matematik
print (Faktoriet på 5.6 er : , end=)
# rejser undtagelse
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>
- Hvis det angivne tal er ikke-integralværdi:
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>