Johdatus Factorialiin Pythonissa
Positiivisen kokonaisluvun kohdalla Python tekijäkertoimella tarkoittaa kaikkien niiden kokonaislukujen tulosta, jotka on lueteltu määritettyä kokonaislukua pienemmällä ja yhtä suurella. Ekspressiivisen luvun tekijä-arvo esitetään tyypillisesti nimellä n !. näiden kokonaislukujen takana oleva kaava voidaan esittää alla olevan kaavan avulla,
n! = n * (n-1) * (n-2) * (n-3) * (n-4) * (n-5) * (n-6) * (n-7) *. . . . . . . * 1
Esimerkki: 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 |
Faktoriaalitekniikat Pythonissa
Tekniikka # 1 - Tekninen ohjelma
Koodi:
# 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)
lähtö:
Selitys: Ohjelma laskee luvun tekijän silmukkatekniikalla, jolloin erityinen kokonaislukuarvo, jolle tekijä-arvo on laskettava, näppäillään 'Numero' -muuttujaan. Muuttujan rinnalla 'Faktoriaalinen' alustetaan arvolla 1. Ensimmäinen suoritettu tarkistus on selvittää, onko avaimen arvo positiivinen kokonaisluku. tämä johtuu siitä, että negatiivisen kokonaisluvun tekijäarvoa ei voida laskea. joten tarkistus on oletettu siten, että arvoon merkitty arvo on suurempi kuin nolla. myös jos näppäimistön arvo on yhtä suuri kuin nolla, tulostetaan nolla-arvon, joka on yksi, tekijä-arvo. Seuraavassa esimerkissä tietyn arvon tekijä määritetään seuraavan kaavan avulla, joka suoritetaan silmukassa iteraattoriarvon kasvaessa yhdellä.
factorial = factorial*i
Tämän silmukan alue pidetään välillä 1 - yksi arvo, joka on suurempi kuin numero, johon näppäillään. Viimeisen suorituksen lopussa tekijän arvo tulostetaan.
Tekniikka # 2 - Tekijäohjelma
Koodi:
# 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))
lähtö:
Selitys: Ohjelma laskee numeron tekijän rekursiivisen funktiokutsutekniikan avulla. Tässä arvo, jolle tekijän määritys on määritettävä, näppäillään 'Number' -muuttujaan. Arvo 1 alustetaan tekijämuuttujalle. Ensimmäinen suoritettu tarkistus on selvittää onko näppäimistön arvo positiivinen kokonaisluku. tämä johtuu siitä, että negatiivisen kokonaisluvun tekijäarvoa ei voida laskea. joten tarkistus on oletettu siten, että arvoon merkitty arvo on suurempi kuin nolla. myös jos näppäimistön arvo on yhtä suuri kuin nolla, tulostetaan nolla-arvon, joka on yksi, tekijä-arvo. Seuraavassa tapauksessa tietyn arvon tekijä määritetään seuraavan kaavan avulla, joka suoritetaan rekursiivisesti,
Number * factorial(Number - 1)
rekursiivinen suorittaminen prosessilla tarkoittaa tekniikkaa, jonka avulla tietyn koodaavan esiintymän silmukka saavutetaan manuaalisesti. tämä tekniikka käsittää tietyn toiminnon kutsumisen samaan funktioon ja tämä kutsu kapseloidaan tietyn, jos olosuhteen sisälle. Joten tämä kapselointi mahdollistaa toiminnon kutsumisen, kunnes annettu ehto täyttyy.
johtopäätös
Näiden ohjelmien on tarkoitus tarkistaa, onko annetulla kokonaislukuarvolla annettu palindromi. Yllä olevia ohjelmia käyttämällä mikä tahansa annettu numeerinen arvo voidaan onnistuneesti arvioida sen tekijä-arvon perusteella. ohjelmat implisiittisesti käytetään kahta laajasti eroavaa tekniikkaa, kuten rekursiivinen funktiokutsu ja tavallinen silmukkaprosessi. tavanomaisesta näkökulmasta katsoen, nämä molemmat tekniikat eivät eroa suurelta osin, ja ne ovat hyvin hyväksyttyjä ohjelmointimenetelmiä.
Suositeltava artikkeli
Tämä on ollut opas Factorialille Pythonissa. Tässä keskustellaan esimerkin avulla Factorialin käyttöönotto Pythonissa ja factorial-ohjelman eri tekniikoista. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -
- Kuviot Pythonissa
- Pythonin edut
- Python-kehykset
- Python-kääntäjät
- Opas Factorialiin PHP: ssä
- Factorial Java (menetelmillä)
- Iteraattori Pythonissa | Pythonin edut