Home Learning & Education Python Program to Find the Factorial of a Number

Python Program to Find the Factorial of a Number

by WeeklyAINews
0 comment

What’s Factorial?

In easy phrases, if you wish to discover the factorial of a optimistic integer, hold multiplying it with all of the optimistic integers lower than that quantity. The ultimate consequence that you simply get is the factorial of that quantity. So if you wish to discover the factorial of seven, multiply 7 with all optimistic 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.

In case you are trying to construct your experience in Python factorial program, take into account getting licensed. This free course on Factorial Program in Python affords you full steerage on the topic and in addition a certificates on completion which is bound to make your CV stand out.

System of Factorial

Factorial of a quantity is denoted by n! is the product of all optimistic 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 optimistic integers that are lower than 10.
10! =10*9*8*7*6*5*4*3*2*1=3628800

Factorial of 5

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

Factorial of 0

Since 0 will not be a optimistic 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 downside. Allow us to take into consideration why easy multiplication can be problematic for a pc. The reply to this lies in how the answer is carried out.

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

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

See also  Mind-Bending Math Could Stop Quantum Hackers—but Few Understand It

Factorial Program in Python

We’re going to undergo 3 methods during which we will calculate factorial:

  • Utilizing a operate from the mathematics module
  • Iterative method(Utilizing for loop)
  • Recursive method

Factorial program in Python utilizing the operate

That is probably the most easy technique which can be utilized to calculate the factorial of a quantity. Right here we have now a module named math which accommodates 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

Enter – 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

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

Contemplate the iterative program. It takes loads of time for the whereas loop to execute. The above program takes loads of time, let’s say infinite. The very goal of calculating factorial is to get the end in time; therefore, this method doesn’t work for enormous numbers.

Factorial program in Python utilizing recursion

def recur_factorial(n):
    """Operate 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

Enter – Enter – 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. Past that, it exceeds the reminiscence and thus fails. The time taken is much less when in comparison with the iterative method. However this comes at the price of the house occupied.

See also  Why QCI uniform Quantum Random Number Generator?

What’s the resolution to the above downside?
The issue 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. Therefore, 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 subsequent time it’s required. Subsequently, we use dynamic programming in such instances. The situations for implementing dynamic programming are

  1. Overlapping sub-problems
  2. optimum substructure 

Contemplate 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

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

A dynamic programming resolution is very environment friendly by way of time and house complexities.

Rely Trailing Zeroes in Factorial utilizing Python

Drawback Assertion: Rely the variety of zeroes within the factorial of a quantity utilizing Python

num=int(enter("Enter the quantity: "))
  
# Initialize consequence 
rely = 0
# Maintain dividing n by 
# powers of 5 and 
# replace Rely 
temp = 5
whereas (num / temp>= 1):
    rely += int(num / temp) 
    temp *= 5

# Driver program  
print("Variety of trailing zeros", rely)

Output
Enter the Quantity: 5
Variety of trailing zeros 1

Discover ways to discover if a string is a Palindrome.

Discover ways to print the Fibonacci Collection in Python. Additionally, be taught synthetic intelligence on-line with the assistance of this AI Course.

Often requested questions

2. What’s the method of factorial?

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

3. Is there a factorial operate in Python?

Sure, we will import a module in Python generally known as math which accommodates virtually all mathematical capabilities. To calculate factorial with a operate, right here is the code:

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

Discovered this weblog fascinating? Study Synthetic Intelligence On-line with the assistance of Nice Studying’s PGP Synthetic Intelligence and Machine Studying course, and upskill at present! When you’re at it, try the python course for newbies to be taught extra concerning the fundamental Python.

Source link

You may also like

logo

Welcome to our weekly AI News site, where we bring you the latest updates on artificial intelligence and its never-ending quest to take over the world! Yes, you heard it right – we’re not here to sugarcoat anything. Our tagline says it all: “because robots are taking over the world.”

Subscribe

Subscribe my Newsletter for new blog posts, tips & new photos. Let's stay updated!

© 2023 – All Right Reserved.