logo

Programma Python per trovare il fattoriale di un numero

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(&apos;Enter a number: &apos;)) 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&apos;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(&apos;Factorial of&apos;,num,&apos;is&apos;,) 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&apos;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(&apos;Enter the number:&apos;)) f = fact(num) print(&apos;Factorial of&apos;, num, &apos;is&apos;, 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&apos;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(&apos;Factorial of&apos;,num,&apos;is&apos;,) 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(&apos;Enter the number:&apos;)) f = fact(num) print(&apos;Factorial of&apos;, num, &apos;is&apos;, 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