Factorial v Pythonu - Različne tehnike faktorskih programov

Kazalo:

Anonim

Uvod v Factorial v Pythonu

Za pozitivno celo število pomeni Python v faktororiju zmnožek vseh celih števil, ki so našteti manj kot enaka določenemu celotnemu številu. Faktorska vrednost izrecne številke je ponavadi predstavljena kot n !. formulo za produkt teh celih števil lahko predstavimo s spodnjo formulo,

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

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

Tehnike Faktoriala v Pythonu

Tehnika št. 1 - Faktorski program

Koda:

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

Izhod:

Pojasnilo: Program izračuna faktorje števila s tehniko zankanja, pri čemer se v spremenljivko 'Število' vpiše specifična cela vrednost, za katero je treba izračunati faktografsko vrednost. Poleg spremenljivke 'Factorial' se inicializira z vrednostjo 1. Prvo preverjanje je določitev, ali je ključna vrednost pozitivno celo število. to je zato, ker faktografske vrednosti za negativno celo število ni mogoče izračunati. zato je ček impliciran tako, da je vnesena vrednost večja od nič. tudi če je vnesena vrednost enaka nič, se izpiše tovarniška vrednost za nič, ki je ena. V naslednjem primeru je faktororial za določeno vrednost določen s spodnjo formulo, ki se izvaja v zanki, pri čemer se vrednost iteratorja poveča za eno.

factorial = factorial*i

Obseg te zanke se vzdržuje med 1 in eno vrednostjo, večjo od števila, ki se vnaša. Na koncu zadnje izvedbe se natisne vrednost faktorja.

Tehnika št. 2 - Faktorski program

Koda:

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

Izhod:


Pojasnilo: Program izračuna faktorje števila s tehniko rekurzivne klicanja funkcije, pri čemer je vrednost, za katero je treba določiti tovarniške vrednosti, vnesti v spremenljivko 'Število'. Vrednost 1 se inicializira v faktororialno spremenljivko. Prvo preverjanje je določitev, ali je ključna vrednost pozitivno celo število. to je zato, ker faktografske vrednosti za negativno celo število ni mogoče izračunati. zato je ček impliciran tako, da je vnesena vrednost večja od nič. tudi če je vnesena vrednost enaka nič, se izpiše tovarniška vrednost za nič, ki je ena. V naslednjem primeru je faktor za določeno vrednost določen s spodnjo formulo, ki se ponavlja,

Number * factorial(Number - 1)

rekurzivna izvedba s postopkom pomeni tehniko, s katero se ročno doseže petljanje določenega kodirnega primerka. ta tehnika vključuje klic določene funkcije znotraj iste funkcije in ta klic je inkapsuliran znotraj danega stanja, če je pogoj. Tako ta enkapsulacija omogoča klic funkcije, dokler ni izpolnjen dan pogoj.

Zaključek

Ti programi pomenijo preverjanje, ali je dan palindroma določene celoštevilčne vrednosti. S pomočjo zgornjih programov je mogoče katero koli dano številčno vrednost ovrednotiti glede na tovarniško vrednost. programi so implicirani z dvema tehnikoma velike razlike, kot sta rekurzivni klic funkcije in običajni postopek zankovanja. s standardne perspektive se obe teh teh metod v veliki meri ne razlikujeta in sta zelo sprejeti metodi programiranja.

Priporočeni članek

To je vodnik za Factorial v Pythonu. Tukaj razpravljamo o Uvodu v Factorial v Pythonu in o različnih tehnikah faktografskega programa s Primerom. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Vzorci v Pythonu
  2. Prednosti Pythona
  3. Okviri Python
  4. Prevajalci Python
  5. Vodnik po Factorialu v PHP-ju
  6. Factorial v Javi (z metodami)
  7. Iterator v Pythonu | Prednosti Pythona