Python Program to Find the Factorial of a Number

0
282

[ad_1]

What is Factorial?

In easy phrases, if you wish to discover the factorial of a constructive integer, hold multiplying it with all of the constructive integers lower than that quantity. The last outcome that you simply get is the factorial of that quantity. So if you wish to discover the factorial of seven, multiply 7 with all constructive integers lower than 7, and people numbers can be 6,5,4,3,2,1. Multiply all these numbers by 7, and the ultimate result’s the factorial of seven.

If you need to construct your experience in Python factorial program, contemplate getting licensed. This free course on Factorial Program in Python gives you full steering on the topic and in addition a certificates on completion which is bound to make your CV stand out.

Formula of Factorial

Factorial of a quantity is denoted by n! is the product of all constructive integers lower than or equal to n:
n! = n*(n-1)*(n-2)*…..3*2*1

10 Factorial

So what’s 10!? Multiply 10 with all of the constructive integers that are lower than 10.
10! =10*9*8*7*6*5*4*3*2*1=3628800

Factorial of 5

To discover ‘5!’ once more, do the identical course of. Multiply 5 with all of the constructive integers lower than 5. Those numbers can be 4,3,2,1
5!=5*4*3*2*1=120

Factorial of 0

Since 0 will not be a constructive integer, as per conference, the factorial of 0 is outlined to be itself.
0!=1

Factorial program in python
Factorial of a quantity

Computing that is an fascinating drawback. Let us take into consideration why easy multiplication can be problematic for a pc. The reply to this lies in how the answer is applied.

1! = 1
2! = 2
5! = 120
10! = 3628800
20! = 2432902008176640000
30! = 9.332621544394418e+157

The exponential rise within the values reveals us that factorial is an exponential operate, and the time taken to compute it could take exponential time.

Factorial Program in Python

We are going to undergo 3 methods by which we are able to calculate factorial:

  • Using a operate from the maths module
  • Iterative strategy(Using for loop)
  • Recursive strategy

Factorial program in Python utilizing the operate

This is essentially the most simple technique which can be utilized to calculate the factorial of a quantity. Here we’ve a module named math which incorporates a number of mathematical operations that may be simply carried out utilizing the module.

import math
num=int(enter("Enter the quantity: "))
print("factorial of ",num," (operate): ",finish="")
print(math.factorial(num))

TEST THE CODE

Input – Enter the quantity: 4
Output – Factorial of 4 (operate):24

Factorial program in python utilizing for loop

def iter_factorial(n):
    factorial=1
    n = enter("Enter a quantity: ")
    factorial = 1
    if int(n) >= 1:
        for i in vary (1,int(n)+1):
            factorial = factorial * i
        return factorial
  
num=int(enter("Enter the quantity: "))

print("factorial of ",num," (iterative): ",finish="")
print(iter_factorial(num))

TEST THE CODE

Input – Enter the quantity: 5
Output – Factorial of 5 (iterative) : 120

Consider the iterative program. It takes quite a lot of time for the whereas loop to execute. The above program takes quite a lot of time, let’s say infinite. The very goal of calculating factorial is to get the lead to time; therefore, this strategy doesn’t work for enormous numbers.

Factorial program in Python utilizing recursion

def recur_factorial(n):
    """Function to return the factorial
    of a quantity utilizing recursion"""
    if n == 1:
        return n
    else:
        return n*recur_factorial(n-1)

num=int(enter("Enter the quantity: "))

print("factorial of ",num," (recursive): ",finish="")
print(recur_factorial(num))

TEST THE CODE

Input – Input – Enter the quantity : 4
Output – Factorial of 5 (recursive) : 24

On a 16GB RAM pc, the above program might compute factorial values as much as 2956. Beyond that, it exceeds the reminiscence and thus fails. The time taken is much less when in comparison with the iterative strategy. But this comes at the price of the house occupied.

What is the answer to the above drawback?
The drawback of computing factorial has a extremely repetitive construction.

To compute factorial (4), we compute f(3) as soon as, f(2) twice, and f(1) thrice; because the quantity will increase, the repetitions improve. Hence, the answer can be to compute the worth as soon as and retailer it in an array from the place it may be accessed the following time it’s required. Therefore, we use dynamic programming in such instances. The situations for implementing dynamic programming are

  1. Overlapping sub-problems
  2. optimum substructure 

Consider the modification to the above code as follows:

def DPfact(N):
    arr={}
    if N in arr:
        return arr[N]
    elif N == 0 or N == 1:
        return 1
        arr[N] = 1
    else:
        factorial = N*DPfact(N - 1)
        arr[N] = factorial
    return factorial
    
num=int(enter("Enter the quantity: "))

print("factorial of ",num," (dynamic): ",finish="")
print(DPfact(num))

TEST THE CODE

Input – Enter the quantity: 6
Output – factorial of 6 (dynamic) : 720

A dynamic programming answer is extremely environment friendly when it comes to time and house complexities.

Count Trailing Zeroes in Factorial utilizing Python

Problem Statement: Count the variety of zeroes within the factorial of a quantity utilizing Python

num=int(enter("Enter the quantity: "))
  
# Initialize outcome 
depend = 0
# Keep dividing n by 
# powers of 5 and 
# replace Count 
temp = 5
whereas (num / temp>= 1):
    depend += int(num / temp) 
    temp *= 5

# Driver program  
print("Number of trailing zeros", depend)

Output
Enter the Number: 5
Number of trailing zeros 1

Learn methods to discover if a string is a Palindrome.

Learn methods to print the Fibonacci Series in Python. Also, be taught synthetic intelligence on-line with the assistance of this AI Course.

Frequently requested questions

1. What is factorial in math?

Factorial of a quantity, in arithmetic, is the product of all constructive integers lower than or equal to a given constructive quantity and denoted by that quantity and an exclamation level. Thus, factorial seven is written 4! that means 1 × 2 × 3 × 4, equal to 24. Factorial zero is outlined as equal to 1. The factorial of Real and Negative numbers don’t exist.

2. What is the system of factorial?

To calculate the factorial of a quantity N, use this system:
Factorial=1 x 2 x 3 x…x N-1 x N

3. Is there a factorial operate in Python?

Yes, we are able to import a module in Python referred to as math which incorporates virtually all mathematical features. To calculate factorial with a operate, right here is the code:

import math
num=int(enter(“Enter the number: “))
print(“factorial of “,num,” (operate): “,end=””)
print(math.factorial(num))

Found this weblog fascinating? Learn Artificial Intelligence Online with the assistance of Great Learning’s PGP Artificial Intelligence and Machine Learning course, and upskill right this moment! While you’re at it, take a look at the python course for newcomers to be taught extra concerning the fundamental Python.

LEAVE A REPLY

Please enter your comment!
Please enter your name here