logo

Program w Pythonie do znajdowania silni liczby

Co to jest silnia?

Silnia jest nieujemną liczbą całkowitą. Jest to iloczyn wszystkich dodatnich liczb całkowitych mniejszych lub równych liczbie, o którą prosisz o silnię. Jest to oznaczone wykrzyknikiem (!).

Przykład:

 n! = n* (n-1) * (n-2) *........1 4! = 4x3x2x1 = 24 

Wartość silni liczby 4 wynosi 24.

Uwaga: Wartość silni 0 zawsze wynosi 1. (Naruszenie zasad)

Przykład -

 num = int(input(&apos;Enter a number: &apos;)) factorial = 1 if num <0: 0 print(' factorial does not exist for negative numbers') elif num="=" 0: print('the of is 1') else: i in range(1,num + 1): of',num,'is',factorial) < pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 10 The factorial of 10 is 3628800 </pre> <p> <strong>Explanation -</strong> </p> <p>In the above example, we have declared a <strong>num</strong> variable that takes an integer as an input from the user. We declared a variable factorial and assigned 1. Then, we checked if the user enters the number less than one, then it returns the factorial does not exist for a negative number. If it returns false, then we check num is equal to zero, it returns false the control transfers to the else statement and prints the factorial of a given number.</p> <h3>Using Recursion</h3> <p>Python recursion is a method which calls itself. Let&apos;s understand the following example.</p> <p> <strong>Example -</strong> </p> <pre> # Python 3 program to find # factorial of given number def fact(n): return 1 if (n==1 or n==0) else n * fact(n - 1); num = 5 print(&apos;Factorial of&apos;,num,&apos;is&apos;,) fact(num)) </pre> <p> <strong>Output:</strong> </p> <pre> Factorial of 5 is 120 </pre> <p> <strong>Explanation -</strong> </p> <p>In the above code, we have used the recursion to find the factorial of a given number. We have defined the <strong>fact(num)</strong> function, which returns one if the entered value is 1 or 0 otherwise until we get the factorial of a given number.</p> <h3>Using built-in function</h3> <p>We will use the math module, which provides the built-in <strong>factorial()</strong> method. Let&apos;s understand the following example.</p> <p> <strong>Example -</strong> </p> <pre> # Python program to find # factorial of given number import math def fact(n): return(math.factorial(n)) num = int(input(&apos;Enter the number:&apos;)) f = fact(num) print(&apos;Factorial of&apos;, num, &apos;is&apos;, f) </pre> <p> <strong>Output:</strong> </p> <pre> Enter the number: 6 Factorial of 6 is 720 </pre> <p>We have imported the math module that has <strong>factorial()</strong> function. It takes an integer number to calculate the factorial. We don&apos;t need to use logic.</p> <hr></0:>

Wyjaśnienie -

W powyższym przykładzie zadeklarowaliśmy a na jednego zmienna, która jako dane wejściowe pobiera liczbę całkowitą od użytkownika. Zadeklarowaliśmy zmienną silnię i przypisaliśmy 1. Następnie sprawdzaliśmy, czy użytkownik wprowadzi liczbę mniejszą niż jeden, to zwraca silnię nie istnieje dla liczby ujemnej. Jeśli zwróci false, to sprawdzamy, czy num jest równe zero, zwraca false, kontrola zostaje przekazana do instrukcji else i wypisuje silnię podanej liczby.

Korzystanie z rekurencji

Rekurencja w Pythonie to metoda, która wywołuje samą siebie. Rozumiemy następujący przykład.

Przykład -

 # Python 3 program to find # factorial of given number def fact(n): return 1 if (n==1 or n==0) else n * fact(n - 1); num = 5 print(&apos;Factorial of&apos;,num,&apos;is&apos;,) fact(num)) 

Wyjście:

 Factorial of 5 is 120 

Wyjaśnienie -

W powyższym kodzie użyliśmy rekurencji, aby znaleźć silnię danej liczby. Zdefiniowaliśmy fakt funkcja, która zwraca jedynkę, jeśli wprowadzona wartość wynosi 1 lub 0 w przeciwnym razie, dopóki nie otrzymamy silni danej liczby.

Korzystanie z wbudowanej funkcji

Będziemy używać modułu matematycznego, który udostępnia wbudowane funkcje silnia() metoda. Rozumiemy następujący przykład.

Przykład -

 # Python program to find # factorial of given number import math def fact(n): return(math.factorial(n)) num = int(input(&apos;Enter the number:&apos;)) f = fact(num) print(&apos;Factorial of&apos;, num, &apos;is&apos;, f) 

Wyjście:

 Enter the number: 6 Factorial of 6 is 720 

Zaimportowaliśmy moduł matematyczny, który ma silnia() funkcjonować. Do obliczenia silni potrzebna jest liczba całkowita. Nie musimy posługiwać się logiką.