Factorial v Pythone - Rôzne techniky faktoriálneho programu

Obsah:

Anonim

Úvod do Factorial v Pythone

Pre kladné celé číslo znamená Python vo faktori súčin všetkých celých čísel, ktoré sú uvedené nižšie a rovnaké ako zadané celé číslo. Faktorická hodnota explicitného čísla je zvyčajne reprezentovaná ako n !. vzorec za produktom týchto celých čísel môže byť znázornený pomocou nasledujúceho vzorca,

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

Prí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 faktora v Pythone

Technika č. 1 - Faktorský 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ýkon:

Vysvetlenie: Program vypočíta faktoriál čísla pomocou techniky opakovania, tu sa špecifická celočíselná hodnota, pre ktorú sa musí faktoriálna hodnota vypočítať, vloží do premennej „Number“. Popri premennej „Factorial“ sa inicializuje hodnotou 1. Prvá vykonaná kontrola je, či je kľúčová hodnota kladné celé číslo. je to preto, že faktoriálnu hodnotu pre záporné celé číslo nie je možné vypočítať. kontrola sa teda predpokladá tak, že zadaná hodnota je väčšia ako nula. tiež ak je hodnota kľúča rovná nule, vytlačí sa faktoriálna hodnota pre nulu. V nasledujúcom prípade je faktoriál pre danú hodnotu určený podľa nasledujúceho vzorca, ktorý sa vykonáva v slučke, pričom hodnota iterátora sa zvyšuje o jednu.

factorial = factorial*i

Rozsah tejto slučky je udržiavaný medzi 1 a jednou hodnotou väčšou ako je číslo, ktoré je zadané. Na konci posledného vykonania sa vytlačí hodnota faktoriálu.

Technika # 2 - Faktorský 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ýkon:


Vysvetlenie: Program vypočíta faktoriál čísla pomocou techniky rekurzívneho volania funkcií, pričom hodnota, pre ktorú je potrebné faktoriál určiť, sa vloží do premennej „číslo“. Hodnota 1 sa inicializuje na faktoriálnu premennú. Prvou vykonanou kontrolou je vyriešiť, či je kľúčová hodnota kladné celé číslo. je to preto, že faktoriálnu hodnotu pre záporné celé číslo nie je možné vypočítať. kontrola sa teda predpokladá tak, že zadaná hodnota je väčšia ako nula. tiež ak je hodnota kľúča rovná nule, vytlačí sa faktoriálna hodnota pre nulu. V nasledujúcom prípade sa faktoriál pre danú hodnotu určí podľa vzorca, ktorý sa vykonáva rekurzívne.

Number * factorial(Number - 1)

rekurzívne vykonanie procesom je technika, pomocou ktorej sa slučka danej inštancie kódovania dosiahne manuálne. táto technika zahŕňa volanie danej funkcie v rámci tej istej funkcie a toto volanie je zapuzdrené vo vnútri daného stavu, ak je daný stav. Toto zapuzdrenie teda umožňuje vyvolať funkciu až do splnenia danej podmienky.

záver

Tieto programy sú určené na kontrolu, či daný palindróm danej celočíselnej hodnoty. Použitím vyššie uvedených programov je možné každú číselnú hodnotu úspešne vyhodnotiť z hľadiska jej faktoriálnej hodnoty. programy sú implikované použitím dvoch značne odlišných techník, ako je rekurzívne volanie funkcií a obvyklý proces opakovania. zo štandardného hľadiska sa tieto techniky príliš nelíšia a sú veľmi akceptovanými metódami programovania.

Odporúčaný článok

Toto bol sprievodca po Factorial v Pythone. Tu diskutujeme Úvod do faktora v Pythone a rôzne techniky faktoriálneho programu s príkladom. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Vzory v Pythone
  2. Výhody Pythonu
  3. Python Frameworks
  4. Kompilátory Python
  5. Sprievodca faktorom v PHP
  6. Factorial v Jave (s metódami)
  7. Iterátor v Pythone Výhody Pythonu