Ce este factorial?
Factorial este un număr întreg nenegativ. Este produsul tuturor numerelor întregi pozitive mai mici sau egale cu acel număr pe care îl cereți factorial. Se notează printr-un semn de exclamare (!).
Exemplu:
n! = n* (n-1) * (n-2) *........1 4! = 4x3x2x1 = 24
Valoarea factorială a lui 4 este 24.
Notă: Valoarea factorială a lui 0 este întotdeauna 1. (încălcarea regulilor)
Exemplu -
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:>
Explicație -
În exemplul de mai sus, am declarat a pe unu variabilă care ia un număr întreg ca intrare de la utilizator. Am declarat o variabilă factorială și am atribuit 1. Apoi, am verificat dacă utilizatorul introduce numărul mai mic de unu, apoi returnează factorialul nu există pentru un număr negativ. Dacă returnează false, atunci verificăm num este egal cu zero, returnează false controlul se transferă la instrucțiunea else și tipărește factorialul unui număr dat.
Utilizarea recursiunii
Recursiunea Python este o metodă care se autoinvocă. Să înțelegem următorul exemplu.
Exemplu -
# 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))
Ieșire:
Factorial of 5 is 120
Explicație -
În codul de mai sus, am folosit recursiunea pentru a găsi factorialul unui număr dat. Am definit fapt funcția, care returnează unul dacă valoarea introdusă este 1 sau 0, în caz contrar, până când obținem factorialul unui număr dat.
Folosind funcția încorporată
Vom folosi modulul de matematică, care oferă încorporat factorial() metodă. Să înțelegem următorul exemplu.
Exemplu -
# 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)
Ieșire:
Enter the number: 6 Factorial of 6 is 720
Am importat modulul de matematică care are factorial() funcţie. Este nevoie de un număr întreg pentru a calcula factorialul. Nu trebuie să folosim logica.
0:>