logo

Програма Python за намиране на факториел на число

Какво е факториел?

Факториалът е неотрицателно цяло число. Това е произведението на всички положителни числа, по-малки или равни на това число, което искате за факториел. Обозначава се с удивителен знак (!).

Пример:

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

Факториалната стойност на 4 е 24.

Забележка: Факториалната стойност на 0 винаги е 1. (нарушение на правилата)

пример -

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

Обяснение -

В горния пример сме декларирали 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(&apos;Factorial of&apos;,num,&apos;is&apos;,) 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(&apos;Enter the number:&apos;)) f = fact(num) print(&apos;Factorial of&apos;, num, &apos;is&apos;, f) 

Изход:

 Enter the number: 6 Factorial of 6 is 720 

Импортирахме математическия модул, който има факториел() функция. За изчисляване на факториела е необходимо цяло число. Не е нужно да използваме логика.

int към низ java