Python Program do znajdowania silni liczby
Silnia liczby przy użyciu pętli for
Weźmy przykład kodu Pythona, który przyjmuje dodatnią liczbę całkowitą jako dane wejściowe, aby określić silnię dodatnich liczb całkowitych. W poniższym kodzie pętla zaczyna się od jedynki, a następnie mnoży przez każdą liczbę poprzedzającą rzeczywistą liczbę, której silnia ma zostać określona.
Poniższy kod Pythona ilustruje funkcję silni za pomocą pętli.
Python kod:
print ("Input a number") factorialIP = int (input ()) ffactor23 = 1 for j in range (1, factorialIP+1): ffactor23 = ffactor23 * j print ("The factorial of the number is “, ffactor23)
Wyjście:
Input a number 4 The factorial of the number is 24
Powyższy program python przyjmuje tylko dodatnie liczby wejściowe i nie ma w nim sprawdzania liczb ujemnych. W tym programie współczynnik wynosi 1, gdy j jest równe 1. Gdy j wynosi 2, współczynnik jest mnożony przez 2 i będzie wykonywał działanie, dopóki j nie osiągnie 4, aby osiągnąć 24.
Silnia liczby przy użyciu instrukcji IF…else
Poniższy kod Pythona ilustruje funkcję silni za pomocą funkcji. Zajmijmy się następującym kodem Pythona, który przyjmuje dodatnie liczby całkowite jako dane wejściowe, aby określić silnię dodatnich liczb całkowitych.
W poprzednim kodzie Pythona nie stosowano sprawdzania liczb ujemnych, przez co funkcja silni była niekompletna i podatna na wyświetlenie komunikatu o błędzie, jeśli jako dane wejściowe podano liczby ujemne.
W podanym kodzie pętla zaczyna się od jeden, a następnie mnoży przez każdą liczbę poprzedzającą liczbę, której silnia ma zostać ustalona, a także sprawdza, czy występują liczby ujemne.
Python kod:
print("Enter a number for the purpose of determining factorial") factorialIP = int(input()) def factorial(factorialIP): if factorialIP < 0: print ('Factorial does not exist') factor=0 return factor elif factorialIP == 0: factor=1 return factor print(factor) else: factor = 1 for j in range (1, factorialIP+1): factor = factor * j return factor print ("The factorial of the number is ", factorial(factorialIP))
Wyjście:
1) Enter a number to determine factorial -4 Factorial does not exist The factorial of the number is 0 2) Enter a number to determine factorial 4 Factorial does not exist The factorial of the number is 24
Powyżej program w Pythonie do znajdowania silni liczby przyjmuje tylko dodatnie liczby wejściowe i sprawdza liczby ujemne za pomocą instrukcji if i else języka python. W tym programie współczynnik wynosi 1, gdy j jest równe 1. Gdy j wynosi 2, współczynnik jest mnożony przez 2 i będzie wykonywał działanie, dopóki j nie osiągnie 4, aby osiągnąć 24.
Silnia liczby przy użyciu rekurencji
Poniższy kod Pythona ilustruje funkcję silni za pomocą rekurencji. Zajmijmy się następującym kodem Pythona, który przyjmuje dodatnie liczby całkowite jako dane wejściowe, aby określić silnię dodatnich liczb całkowitych. W tym przykładzie funkcja rekurencyjna określa liczbę silni.
Python kod:
print("Enter a number for the purpose of determining factorial") def factorial(num2): if num2 < 0: return 'Factorial does not exist' elif num2 == 0: return 1 else: return num2 * factorial(num2-1) number1 = int(input()) print("The factorial of the number is",factorial(number1))
Wyjście: -
Enter a number for the purpose of determining factorial 4 The factorial of the number is 24
Rekursję można wyjaśnić jako koncepcję, w której funkcja wywoływana w module Pythona może wywoływać się wielokrotnie. Działa do momentu spełnienia warunku Pythona obecnego w module Pythona, podczas którego wywoływana funkcja jest przekazywana z wartością.
W powyższym programie Pythona funkcja number def silnia wywołuje się rekurencyjnie, dopóki liczba nie osiągnie zera. Gdy liczba osiągnie zero, inicjuje ją jako 1, kończąc rekurencję.
Silnia liczby za pomocą matematyki. silnia()
Poniższy kod w języku Python ilustruje funkcję silni za pomocą metody math.factorial(), którą można wykorzystać po zaimportowaniu modułu math.
Ta funkcja nie akceptuje ujemnych liczb całkowitych i generuje komunikat o błędzie value error, gdy podane są liczby float. Zajmijmy się następującym kodem Pythona, który przyjmuje dodatnie liczby całkowite jako dane wejściowe, aby określić silnię dodatnich liczb całkowitych.
Python kod:
print("Enter a number for computing factorial") import math number1 = int(input()) print("The factorial is as computed comes out to be ") print(math.factorial(number1))
Wyjście: -
Enter a number for computing factorial 4 The factorial, as computed, comes out to be 24
Algorytm programu silniowego w Python
Weźmy przykład ilustrujący koncepcję silni.
Aby wyznaczyć silnię 5, wykonaj następujące kroki: –
5! = 5 x (5-1) x (5-2) x (5-3) x (5-4) 5! =120
Tutaj, 5! wyraża się jako 120.
Poniższy diagram pomaga zrozumieć algorytm obliczania silni. W tym przypadku weźmiemy przykład silni 4!
Zastosowanie silni w Python
Silnia liczby ma szerokie zastosowanie w matematyce. Oto ważne zastosowania Python:
- Python pomaga w obliczeniach, a następnie drukuje silnię w sposób szybszy i wydajniejszy niż inne dostępne języki programowania.
- Kod Pythona jest łatwo zrozumiały i można go replikować na różnych platformach, a silniowy program Pythona można włączyć do kilku zadań związanych z budowaniem modelu matematycznego.
Podsumowanie
- Silnię liczby można opisać jako iloczyn lub mnożenie wszystkich dodatnich liczb całkowitych równych lub mniejszych od liczby, dla której wyznaczany jest iloczyn lub silnia.
- Silnię liczby w Pythonie można wykonać na trzy sposoby.
- Obliczenia silni przy użyciu pętli For
- Obliczenia silni z wykorzystaniem rekurencji.
- Użycie funkcji zdefiniowanej przez użytkownika
- Silnię liczby wyznacza się dla nieujemnej liczby całkowitej, a wyniki są zawsze dodatnimi liczbami całkowitymi.
- Wyjątkiem od reguły silnia zerowa jest równa 1.
- Silnia liczby ma szerokie zastosowanie w matematyce.
Poznaj nasz kolejny samouczek na temat Zamień dwie liczby bez użycia trzeciej zmiennej