Какво е факториел?
Факториалът е неотрицателно цяло число. Това е произведението на всички положителни числа, по-малки или равни на това число, което искате за факториел. Обозначава се с удивителен знак (!).
Пример:
n! = n* (n-1) * (n-2) *........1 4! = 4x3x2x1 = 24
Факториалната стойност на 4 е 24.
Забележка: Факториалната стойност на 0 винаги е 1. (нарушение на правилата)
пример -
num = int(input('Enter a number: ')) 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'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('Factorial of',num,'is',) 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'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('Enter the number:')) f = fact(num) print('Factorial of', num, 'is', 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't need to use logic.</p> <hr></0:>
Обяснение -
В горния пример сме декларирали a никой променлива, която приема цяло число като вход от потребителя. Декларирахме променлива факториел и присвоихме 1. След това проверихме дали потребителят въвежда число, по-малко от едно, след което се връща факториелът не съществува за отрицателно число. Ако върне false, тогава проверяваме, че num е равно на нула, връща false, контролът се прехвърля към оператора else и отпечатва факториела на дадено число.
Използване на рекурсия
Рекурсията на Python е метод, който се самоизвиква. Нека разберем следния пример.
пример -
# 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('Factorial of',num,'is',) fact(num))
Изход:
Factorial of 5 is 120
Обяснение -
В горния код сме използвали рекурсията, за да намерим факториела на дадено число. Ние сме дефинирали факт функция, която връща единица, ако въведената стойност е 1 или 0 в противен случай, докато не получим факториела на дадено число.
Използване на вградена функция
Ще използваме математическия модул, който предоставя вградените факториел() метод. Нека разберем следния пример.
пример -
# Python program to find # factorial of given number import math def fact(n): return(math.factorial(n)) num = int(input('Enter the number:')) f = fact(num) print('Factorial of', num, 'is', f)
Изход:
Enter the number: 6 Factorial of 6 is 720
Импортирахме математическия модул, който има факториел() функция. За изчисляване на факториела е необходимо цяло число. Не е нужно да използваме логика.
int към низ java
0:>