Cos'è il fattoriale?
Il fattoriale è un numero intero non negativo. È il prodotto di tutti i numeri interi positivi inferiori o uguali al numero richiesto per il fattoriale. È indicato da un segno esclamativo (!).
Esempio:
n! = n* (n-1) * (n-2) *........1 4! = 4x3x2x1 = 24
Il valore fattoriale di 4 è 24.
Nota: il valore fattoriale di 0 è sempre 1. (Violazione delle regole)
Esempio -
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:>
Spiegazione -
Nell'esempio precedente, abbiamo dichiarato a nessuno variabile che accetta un numero intero come input dall'utente. Abbiamo dichiarato una variabile fattoriale e assegnato 1. Quindi, abbiamo controllato se l'utente inserisce il numero inferiore a uno, quindi restituisce il fattoriale non esiste per un numero negativo. Se restituisce false, controlliamo che num sia uguale a zero, restituisce false, il controllo viene trasferito all'istruzione else e stampa il fattoriale di un dato numero.
Utilizzando la ricorsione
La ricorsione di Python è un metodo che richiama se stesso. Comprendiamo il seguente esempio.
Esempio -
# 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))
Produzione:
Factorial of 5 is 120
Spiegazione -
Nel codice sopra abbiamo utilizzato la ricorsione per trovare il fattoriale di un dato numero. Abbiamo definito il fatto funzione, che restituisce uno se il valore inserito è 1 o 0 altrimenti finché non otteniamo il fattoriale di un dato numero.
Utilizzando la funzione integrata
Utilizzeremo il modulo matematico, che fornisce il built-in fattoriale() metodo. Comprendiamo il seguente esempio.
Esempio -
# 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)
Produzione:
Enter the number: 6 Factorial of 6 is 720
Abbiamo importato il modulo matematico che ha fattoriale() funzione. Per calcolare il fattoriale è necessario un numero intero. Non abbiamo bisogno di usare la logica.
int per stringere java
0:>