logo

Program Python pro nalezení faktoriálu čísla

Co je faktoriál?

Faktoriál je nezáporné celé číslo. Je to součin všech kladných celých čísel menších nebo rovných číslu, které požadujete pro faktoriál. Označuje se vykřičníkem (!).

Příklad:

mylivecricket
 n! = n* (n-1) * (n-2) *........1 4! = 4x3x2x1 = 24 

Faktoriální hodnota 4 je 24.

Poznámka: Faktoriální hodnota 0 je vždy 1. (Porušení pravidel)

Příklad -

 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:>

Vysvětlení -

Ve výše uvedeném příkladu jsme deklarovali a na jednom proměnná, která bere celé číslo jako vstup od uživatele. Deklarovali jsme proměnnou faktoriál a přiřadili mu 1. Poté jsme zkontrolovali, zda uživatel zadá číslo menší než jedna, pak vrátí faktoriál neexistuje pro záporné číslo. Pokud vrátí false, pak zkontrolujeme, že num je rovno nule, vrátí false, kontrola se přenese do příkazu else a vypíše faktoriál daného čísla.

rolovací kolečko nefunguje

Použití rekurze

Rekurze Pythonu je metoda, která volá sama sebe. Pojďme pochopit následující příklad.

Příklad -

 # 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)) 

Výstup:

 Factorial of 5 is 120 

Vysvětlení -

Ve výše uvedeném kódu jsme použili rekurzi k nalezení faktoriálu daného čísla. Definovali jsme skutečnost funkce, která vrací jedničku, pokud je zadaná hodnota 1 nebo 0, jinak dokud nedostaneme faktoriál daného čísla.

Použití vestavěné funkce

Využijeme matematický modul, který zajišťuje vestavěný faktoriál() metoda. Pojďme pochopit následující příklad.

Příklad -

 # 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) 

Výstup:

Kat timpf
 Enter the number: 6 Factorial of 6 is 720 

Importovali jsme matematický modul, který má faktoriál() funkce. K výpočtu faktoriálu je potřeba celé číslo. Nemusíme používat logiku.