logo

Program Python na nájdenie faktoriálu čísla

Čo je faktoriál?

Faktoriál je nezáporné celé číslo. Je to súčin všetkých kladných celých čísel menších alebo rovných číslu, ktoré požadujete pre faktoriál. Označuje sa výkričníkom (!).

Príklad:

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

Faktorová hodnota 4 je 24.

Poznámka: Faktorová hodnota 0 je vždy 1. (Porušenie pravidla)

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

vysvetlenie -

Vo vyššie uvedenom príklade sme deklarovali a na jeden premenná, ktorá berie celé číslo ako vstup od používateľa. Deklarovali sme premennú faktoriál a priradili mu 1. Potom sme skontrolovali, či používateľ zadá číslo menšie ako jedna, potom vráti faktoriál neexistuje pre záporné číslo. Ak vráti false, potom skontrolujeme, že num sa rovná nule, vráti false, kontrola sa prenesie do príkazu else a vypíše faktoriál daného čísla.

Použitie rekurzie

Pythonová rekurzia je metóda, ktorá volá sama seba. Poďme pochopiť nasledujúci príklad.

Prí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ýkon:

 Factorial of 5 is 120 

vysvetlenie -

Vo vyššie uvedenom kóde sme použili rekurziu na nájdenie faktoriálu daného čísla. Definovali sme skutočnosť funkcia, ktorá vráti jednotku, ak je zadaná hodnota 1 alebo 0, v opačnom prípade, kým nedostaneme faktoriál daného čísla.

Použitie vstavanej funkcie

Využijeme na to matematický modul, ktorý zabezpečuje vstavaný faktoriál() metóda. Poďme pochopiť nasledujúci príklad.

Prí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ýkon:

 Enter the number: 6 Factorial of 6 is 720 

Importovali sme matematický modul, ktorý má faktoriál() funkciu. Na výpočet faktoriálu je potrebné celé číslo. Nemusíme používať logiku.