Silnia w Pythonie - Różne techniki programu czynnikowego

Spisie treści:

Anonim

Wprowadzenie do silni w Pythonie

Dla dodatniej liczby całkowitej Python silnia oznacza iloczyn wszystkich liczb całkowitych, które są wymienione mniej niż i równe określonej liczbie całkowitej. Wartość silnia jawnej liczby jest zwykle reprezentowana jako n !. wzór na iloczyn tych liczb całkowitych można przedstawić za pomocą poniższego wzoru,

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

Np .: 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

Techniki czynnikowe w Pythonie

Technika nr 1 - Program faktorowy

Kod:

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

Wynik:

Objaśnienie: Program oblicza silnię liczby za pomocą techniki zapętlenia, tutaj określona wartość całkowita, dla której należy obliczyć wartość silni, jest wprowadzana do zmiennej „Liczba”. Wraz ze zmienną „Factorial” inicjowana jest wartość 1. Pierwszą przeprowadzoną kontrolą jest ustalenie, czy kluczowa wartość jest dodatnią liczbą całkowitą. dzieje się tak, ponieważ nie można obliczyć wartości silni dla ujemnej liczby całkowitej. więc implikuje się sprawdzenie, że wpisana wartość jest większa od zera. także jeśli kluczowana wartość jest równa zero, to drukowana jest wartość silni dla zera, która jest równa jeden. W następnym przypadku silnia dla danej wartości jest określana przez poniższy wzór wykonywany w pętli z wartością iteratora zwiększaną o jeden.

factorial = factorial*i

Zakres tej pętli jest utrzymywany między 1 a jedną wartością większą niż liczba, która ma być wpisana. Pod koniec ostatniego wykonania drukowana jest wartość silni.

Technika 2 - Program czynnikowy

Kod:

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

Wynik:


Objaśnienie: Program oblicza silnię liczby za pomocą techniki wywoływania funkcji rekurencyjnej, tutaj wartość, dla której należy ustalić silnię, jest wprowadzana do zmiennej „Liczba”. Wartość 1 jest inicjalizowana do zmiennej czynnikowej. Pierwszym przeprowadzonym sprawdzeniem jest ustalenie, czy kluczowana wartość jest dodatnią liczbą całkowitą. dzieje się tak, ponieważ nie można obliczyć wartości silni dla ujemnej liczby całkowitej. więc implikuje się sprawdzenie, że wpisana wartość jest większa od zera. także jeśli kluczowana wartość jest równa zero, to drukowana jest wartość silni dla zera, która jest równa jeden. W następnym przypadku silnia dla danej wartości jest określona przez rekursywnie wykonywaną poniższą formułę,

Number * factorial(Number - 1)

rekurencyjne wykonywanie przez proces oznacza technikę, dzięki której ręczne zapętlenie danej instancji kodowania jest realizowane. technika ta polega na wywołaniu danej funkcji w ramach tej samej funkcji, a to wywołanie jest zawarte w danym warunku if. Zatem enkapsulacja pozwala na wywołanie funkcji do momentu spełnienia danego warunku.

Wniosek

Programy te mają na celu sprawdzenie, czy dany palindrom danej wartości całkowitej. Za pomocą powyższych programów można z powodzeniem ocenić dowolną wartość liczbową pod kątem jej wartości silni. programy są implikowane przy użyciu dwóch bardzo różnych technik, takich jak rekurencyjne wywołanie funkcji i zwykły proces zapętlania. ze standardowej perspektywy obie te techniki nie różnią się w znacznym stopniu i są to bardzo akceptowane metody programowania.

Polecany artykuł

To był przewodnik po Factorial w Pythonie. Tutaj omawiamy wprowadzenie do silni w Pythonie i różne techniki programu silnia z przykładem. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Wzory w Pythonie
  2. Zalety Pythona
  3. Frameworki Python
  4. Kompilatory Python
  5. Przewodnik po silniku w PHP
  6. Factorial w Javie (z metodami)
  7. Iterator w Pythonie | Korzyści z Python