Kaj je faktoriel?
Faktoriel je nenegativno celo število. Je zmnožek vseh pozitivnih celih števil, ki so manjša ali enaka številu, ki ga zahtevate za faktorial. Označujemo ga s klicajem (!).
ml do oz
primer:
n! = n* (n-1) * (n-2) *........1 4! = 4x3x2x1 = 24
Vrednost faktorja 4 je 24.
Opomba: Faktorijel 0 je vedno 1. (kršitev pravila)
Primer -
num = int(input('Enter a number: ')) factorial = 1 if num <0: 0 print(' factorial does not exist for negative numbers') elif num="=" 0: print('the of is 1') else: i in range(1,num + 1): of',num,'is',factorial) < pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 10 The factorial of 10 is 3628800 </pre> <p> <strong>Explanation -</strong> </p> <p>In the above example, we have declared a <strong>num</strong> variable that takes an integer as an input from the user. We declared a variable factorial and assigned 1. Then, we checked if the user enters the number less than one, then it returns the factorial does not exist for a negative number. If it returns false, then we check num is equal to zero, it returns false the control transfers to the else statement and prints the factorial of a given number.</p> <h3>Using Recursion</h3> <p>Python recursion is a method which calls itself. Let's understand the following example.</p> <p> <strong>Example -</strong> </p> <pre> # Python 3 program to find # factorial of given number def fact(n): return 1 if (n==1 or n==0) else n * fact(n - 1); num = 5 print('Factorial of',num,'is',) fact(num)) </pre> <p> <strong>Output:</strong> </p> <pre> Factorial of 5 is 120 </pre> <p> <strong>Explanation -</strong> </p> <p>In the above code, we have used the recursion to find the factorial of a given number. We have defined the <strong>fact(num)</strong> function, which returns one if the entered value is 1 or 0 otherwise until we get the factorial of a given number.</p> <h3>Using built-in function</h3> <p>We will use the math module, which provides the built-in <strong>factorial()</strong> method. Let's understand the following example.</p> <p> <strong>Example -</strong> </p> <pre> # Python program to find # factorial of given number import math def fact(n): return(math.factorial(n)) num = int(input('Enter the number:')) f = fact(num) print('Factorial of', num, 'is', f) </pre> <p> <strong>Output:</strong> </p> <pre> Enter the number: 6 Factorial of 6 is 720 </pre> <p>We have imported the math module that has <strong>factorial()</strong> function. It takes an integer number to calculate the factorial. We don't need to use logic.</p> <hr></0:>
Pojasnilo -
V zgornjem primeru smo razglasili a na enem spremenljivka, ki sprejme celo število kot vnos od uporabnika. Deklarirali smo spremenljivko faktorial in ji dodelili 1. Nato smo preverili, če uporabnik vnese število, manjše od ena, nato vrne faktorial ne obstaja za negativno število. Če vrne false, preverimo, ali je num enako nič, vrne false, nadzor prenese na stavek else in natisne faktorijel danega števila.
'kruskalov algoritem'
Uporaba rekurzije
Rekurzija Python je metoda, ki kliče samo sebe. Razumejmo naslednji primer.
Primer -
# Python 3 program to find # factorial of given number def fact(n): return 1 if (n==1 or n==0) else n * fact(n - 1); num = 5 print('Factorial of',num,'is',) fact(num))
Izhod:
java case statement
Factorial of 5 is 120
Pojasnilo -
V zgornji kodi smo uporabili rekurzijo za iskanje faktoriala danega števila. Določili smo dejstvo funkcijo, ki vrne 1, če je vnesena vrednost 1 ali 0, sicer pa dokler ne dobimo faktoriala danega števila.
Uporaba vgrajene funkcije
Uporabili bomo matematični modul, ki nudi vgrajeno faktoriel() metoda. Razumejmo naslednji primer.
Primer -
# Python program to find # factorial of given number import math def fact(n): return(math.factorial(n)) num = int(input('Enter the number:')) f = fact(num) print('Factorial of', num, 'is', f)
Izhod:
python razvrščena tuple
Enter the number: 6 Factorial of 6 is 720
Uvozili smo matematični modul, ki ima faktoriel() funkcijo. Za izračun faktoriala je potrebno celo število. Ni nam treba uporabljati logike.
0:>