Python Program pro nalezení faktoriálu čísla

Faktoriál čísla pomocí smyčky

Vezměme si příklad pythonského kódu, který bere kladné celé číslo jako vstup pro určení faktoriálu kladných celých čísel. V následujícím kódu smyčka začíná jedničkou a pak se násobí každým číslem, které předchází skutečnému číslu, jehož faktoriál má být určen.

Následující kód pythonu ilustruje faktoriál pomocí smyčky.

Python kód:

print ("Input a number")
factorialIP = int (input ())
ffactor23 = 1
for j in range (1, factorialIP+1):
   ffactor23 = ffactor23 * j
print ("The factorial of the number is “, ffactor23)

Výstup:

Input a number
4
The factorial of the number is 24

Výše uvedený pythonový program zadává pouze kladná čísla a nemá v sobě kontrolu záporných čísel. V tomto programu je faktor 1, když j je rovno 1. Když j je 2, faktor se vynásobí 2 a bude to dělat akci, dokud j nepřijde na 4, aby se dospělo k 24.

Faktoriál čísla pomocí příkazu IF…else

Následující kód pythonu ilustruje faktoriál pomocí funkce. Vezměme si následující kód pythonu, který bere kladná celá čísla jako vstup pro určení faktoriálu kladných celých čísel.

V předchozím kódu pythonu nebyla použita kontrola záporných čísel, takže faktoriální funkce byla neúplná a náchylná k doručení chybové zprávy, pokud jsou jako vstup vložena záporná čísla.

V daném kódu smyčka začíná jedničkou a pak se násobí každým číslem, které předchází skutečnému číslu, jehož faktoriál má být určen, a funkce také kontroluje záporná čísla.

Python kód:

print("Enter a number for the purpose of determining factorial")
factorialIP = int(input())
def factorial(factorialIP):
   if factorialIP < 0:
     print ('Factorial does not exist')
     factor=0
     return factor
   elif factorialIP == 0:
     factor=1
     return factor
     print(factor)
   else:
     factor = 1
     for j in range (1, factorialIP+1):
       factor = factor * j
     return factor
  print ("The factorial of the number is ", factorial(factorialIP))

Výstup:

1) Enter a number to determine factorial
   -4
   Factorial does not exist
   The factorial of the number is 0

2) Enter a number to determine factorial
   4
   Factorial does not exist
   The factorial of the number is 24

Výše python program pro nalezení faktoriálu čísla bere vstup pouze kladných čísel a má v sobě kontrolu záporných čísel pomocí příkazu if a else pythonu. V tomto programu je faktor 1, když se j rovná 1. Když je j 2, faktor se vynásobí 2 a bude to dělat akci, dokud j nepřijde na 4, aby se dospělo k 24.

Faktoriál čísla pomocí rekurze

Následující kód pythonu ilustruje faktoriál pomocí rekurze. Vezměme si následující kód pythonu, který bere kladná celá čísla jako vstup pro určení faktoriálu kladných celých čísel. V tomto příkladu rekurzivní funkce určuje faktoriál.

Python kód:

print("Enter a number for the purpose of determining factorial")
def factorial(num2):
  if num2 < 0:
    return 'Factorial does not exist'
  elif num2 == 0:
     return 1
  else:
     return num2 * factorial(num2-1)
number1 = int(input())
print("The factorial of the number is",factorial(number1))

Výstup: -

Enter a number for the purpose of determining factorial
4
The factorial of the number is 24

Rekurzi lze vysvětlit jako koncept, kdy funkce vyvolaná v modulu python může volat sama sebe znovu a znovu. Běží, dokud není splněna podmínka python přítomná v modulu python, přičemž vyvolaná funkce je předána s hodnotou.

Ve výše uvedeném programu python se číslo funkce def factorial stále rekurzivně volá, dokud a dokud číslo nedosáhne nuly. Jakmile číslo dosáhne nuly, inicializuje číslo jako 1, čímž se rekurze ukončí.

Faktoriál čísla pomocí matematiky. faktoriál()

Následující kód pythonu ilustruje funkci faktoriál pomocí math.factorial(), kterou lze použít při importu matematického modulu.

Tato funkce nepřijímá záporná celá čísla a při zadání čísel s plovoucí desetinnou čárkou vyvolá chybovou zprávu o chybě hodnoty. Vezměme si následující kód pythonu, který bere kladná celá čísla jako vstup pro určení faktoriálu kladných celých čísel.

Python kód:

print("Enter a number for computing factorial")
import math
number1 = int(input())
print("The factorial is as computed comes out to be ")
print(math.factorial(number1))

Výstup: -

Enter a number for computing factorial
4
The factorial, as computed, comes out to be 24

Algoritmus pro faktoriální program v Python

Vezměme si příklad, který ilustruje koncept faktoriálu.

Pro určení faktoriálu 5 postupujte podle následujících kroků: –

5! = 5 x (5-1) x (5-2) x (5-3) x (5-4)
5! =120

Tady, 5! je vyjádřen jako 120.

Následující diagram pomáhá pochopit algoritmus výpočtu faktoriálu a v tomto případě si vezměme příklad faktoriálu 4!

Algoritmus pro faktoriální program
Algoritmus s obrázkovým příkladem faktoriálu 4!

Aplikace faktoriálu v Python

Faktoriál čísla má širokou úroveň aplikací v matematice. Zde jsou důležité aplikace Python:

  • Python pomáhá ve výpočtech, následovaný faktoriálem tisku rychleji a efektivněji než jiné dostupné programovací jazyky.
  • Kód pythonu je snadno srozumitelný a lze jej replikovat na různých platformách a program faktoriál python lze začlenit do několika matematických zadání pro vytváření modelu.

Shrnutí

  • Faktoriál čísla lze popsat jako součin nebo násobek všech kladných celých čísel rovných nebo menších než číslo, pro které se součin nebo faktoriál určuje.
  • Existují tři způsoby, jak lze faktoriál čísla v pythonu provést.
    1. Faktorový výpočet pomocí For Loop
    2. Faktorový výpočet pomocí rekurze.
    3. Použití uživatelem definované funkce
  • Faktoriál čísla je určen pro nezáporné celé číslo a výsledky jsou vždy v kladných celých číslech.
  • S výjimkou pravidla je nulový faktoriál 1.
  • Faktoriál čísla má širokou úroveň aplikací v matematice.

Přečtěte si náš další tutoriál o Prohoďte dvě čísla bez použití třetí proměnné