Factorial v Pythonu - Různé techniky faktoriálního programu

Obsah:

Anonim

Úvod do Factorial v Pythonu

Pro kladné celé číslo znamená Python ve faktori součin všech celých čísel, která jsou uvedena menší než a rovná se zadanému celému číslu. Faktoriální hodnota explicitního čísla je obvykle reprezentována jako n !. vzorec za produktem těchto celých čísel lze znázornit pomocí následujícího vzorce,

n! = n * (n-1) * (n-2) * (n-3) * (n-4) * (n-5) * (n-6) * (n-7) *. . . . . . . * 1

Příklad: 20! = 20 * 19 * 18 * 17 * 16 * 15 * 14 * 13 * 12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 2432902008176640000

n n !
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5 040
8 40 320
9 362 880
10 3 628 800
11 39 916 800
12 479 001 600
13 6 227 020 800
14 87 178 291 200
15 1, 30767E + 12
16 2, 09228E + 13
17 3, 55687E + 14
18 6, 40237E + 15
19 1, 21645E + 17
20 2.4329E + 18

Techniky faktoru v Pythonu

Technika č. 1 - Vědecký program

Kód:

# Python program to determine the value of factorial for a given number
# modifying the value keyed in will produce a different result
Number = int(input(" Enter the number for which factorial value to be determined : "))
factorial = 1
# to verify that the given number is greater than zero incase it is less than zero then the
# message stated below will be printed
if Number < 0:
print(" ! ! ! ! ! Factorial value cannot be intended for negative integers ! ! ! ! ! ")
# The default factorial value for zero is one and this is printed here
elif Number == 0:
print(" ! ! ! ! 1 is the factorial value 0 ! ! ! ! ")
else:
# For loop to handle the factorial calculation
for i in range(1, Number + 1):
factorial = factorial*i
print("The factorial value for the ", Number, "is", factorial)

Výstup:

Vysvětlení: Program vypočítá faktoriál čísla pomocí smyčkové techniky, zde se specifická celočíselná hodnota, pro kterou musí být faktoriální hodnota vypočtena, vloží do proměnné „Number“. Vedle proměnné „Factorial“ je inicializována hodnotou 1. První provedená kontrola spočívá v tom, zda je klíčová hodnota kladné celé číslo. je to proto, že faktorovou hodnotu pro záporné celé číslo nelze vypočítat. kontrola je tedy implikována tak, že zadaná hodnota je větší než nula. také pokud je zadaná hodnota rovna nule, vytiskne se faktoriální hodnota pro nulu. V dalším případě je faktoriál pro danou hodnotu určen podle následujícího vzorce, který se provádí ve smyčce, přičemž hodnota iterátoru se zvyšuje o jednu.

factorial = factorial*i

Rozsah této smyčky je udržován mezi 1 a jednou hodnotou větší než číslo, které je zadáno. Na konci posledního provedení se vytiskne hodnota faktoriálu.

Technika # 2 - Vědecký program

Kód:

# Python program to determine the value of factorial for a given Number
# modifying the value keyed in will produce a different result
# Function through which factorial is achieved
def factorial(Number):
"""Factorial of a number is calculated through the below mentioned recursive function"""
if Number == 1:
return Number
else:
return Number * factorial(Number - 1)
# Number for which the factorial has to be determined
Number = int(input(" Enter the Number for which factorial value to be determined : "))
# to verify that the given Number is greater than zero in case it is less than zero then the
# message stated below will be printed
# An error message will be returned if the keyed in input is negative.
# elif an error message will be returned if the keyed in input is zero.
# else user defined function is used for calculating the factorial
if Number < 0:
print( " ! ! ! ! ! Factorial value cannot be intended for negative integers ! ! ! ! !" )
elif Number == 0:
print( " ! ! ! ! 1 is the factorial value 0 ! ! ! ! " )
else:
print("Factorial value for the ", Number, " is: ", factorial(Number))

Výstup:


Vysvětlení: Program vypočítá faktoriál čísla pomocí techniky rekurzivního volání funkce, zde je hodnota, pro kterou faktoriál musí být určen, vložena do proměnné 'Number'. Hodnota 1 je inicializována do faktoriální proměnné. První provedená kontrola je urovnat, zda je klíčová hodnota kladné celé číslo. je to proto, že faktorovou hodnotu pro záporné celé číslo nelze vypočítat. kontrola je tedy implikována tak, že zadaná hodnota je větší než nula. také pokud je zadaná hodnota rovna nule, vytiskne se faktoriální hodnota pro nulu. V příštím případě je faktoriál pro danou hodnotu určen následujícím vzorcem, který je rekurzivně prováděn,

Number * factorial(Number - 1)

rekurzivním provedením procesem se rozumí technika, pomocí které se smyčka dané kódovací instance dosáhne ručně. tato technika zahrnuje volání dané funkce v rámci stejné funkce a toto volání je zapouzdřeno uvnitř dané podmínky if. Toto zapouzdření tedy umožňuje volat funkci, dokud není splněna daná podmínka.

Závěr

Tyto programy jsou určeny pro kontrolu, zda daný palindrom dané celé hodnoty. Pomocí výše uvedených programů může být jakákoli číselná hodnota úspěšně vyhodnocena na základě její faktoriální hodnoty. programy jsou implikovány pomocí dvou značně odlišných technik, jako je rekurzivní vyvolání funkce a obvyklý proces opakování. ze standardního pohledu se obě tyto techniky do značné míry neliší a jsou velmi přijímanými metodami programování.

Doporučený článek

Toto byl průvodce po Factorial v Pythonu. Zde diskutujeme Úvod do faktoru v Pythonu a různé techniky faktoriálního programu s Příkladem. Další informace naleznete také v dalších navrhovaných článcích -

  1. Vzory v Pythonu
  2. Výhody Pythonu
  3. Python Frameworks
  4. Kompilátory Pythonu
  5. Průvodce po Factorial v PHP
  6. Factorial v Javě (s metodami)
  7. Iterátor v Pythonu | Výhody Pythonu