Skip to content
Related Articles
Open in App
Not now

Related Articles

Python Program for factorial of a number

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 30 Aug, 2022
Improve Article
Save Article

Factorial of a non-negative integer, is multiplication of all integers smaller than or equal to n. For example factorial of 6 is 6*5*4*3*2*1 which is 720.

factorial

1.Recursive approach: 

python3




# Python 3 program to find
# factorial of given number
def factorial(n):
     
    # single line to find factorial
    return 1 if (n==1 or n==0) else n * factorial(n - 1);
 
# Driver Code
num = 5;
print("Factorial of",num,"is",
factorial(num))
 
# This code is contributed by Smitha Dinesh Semwal

Output:

Factorial of 5 is 120

Time Complexity: O(n)
Auxiliary Space: O(n)

2. Iterative approach :

Method1:

python3




# Python 3 program to find 
# factorial of given number
def factorial(n):
    if n < 0:
        return 0
    elif n == 0 or n == 1:
        return 1
    else:
        fact = 1
        while(n > 1):
            fact *= n
            n -= 1
        return fact
 
# Driver Code
num = 5;
print("Factorial of",num,"is",
factorial(num))
 
# This code is contributed by Dharmik Thakkar

Output:

Factorial of 5 is 120

Time Complexity: O(n)
Auxiliary Space: O(1)

Method2: 

Python3




# Python 3 program to find
# factorial of given number
  
# Function to find factorial of given number
def factorial(n):
       
    res = 1
      
    for i in range(2, n+1):
        res *= i
    return res
 # Driver Code
num = 5;
print("Factorial of", num, "is",
factorial(num))

Output

Factorial of 5 is 120

Time Complexity: O(n)
Auxiliary Space: O(1)

3. One line Solution (Using Ternary operator): 

Python3




# Python 3 program to find
# factorial of given number
 
def factorial(n):
 
    # single line to find factorial
    return 1 if (n==1 or n==0) else n * factorial(n - 1)
 
 
# Driver Code
num = 5
print ("Factorial of",num,"is",
      factorial(num))
 
# This code is contributed
# by Smitha Dinesh Semwal.

Output:

Factorial of 5 is 120

Time Complexity: O(n)
Auxiliary Space: O(n)

Please refer complete article on Program for factorial of a number for more details!

4. By using In-built function : 

In Python, math module contains a number of mathematical operations, which can be performed with ease using the module. math.factorial() function returns the factorial of desired number.

Syntax: math.factorial(x)

Parameter:
x: This is a numeric expression.

Returns:  factorial of desired number.

Python3




# Python 3 program to find
# factorial of given number
import math
 
def factorial(n):
    return(math.factorial(n))
 
 
# Driver Code
num = 5
print("Factorial of", num, "is",
      factorial(num))
 
# This code is contributed by Ashutosh Pandit

Output:

Factorial of 5 is 120

Method: Using numpy.prod 

Python3




import numpy
n=5
x=numpy.prod([i for i in range(1,n+1)])
print(x)

Output 

120

Time Complexity: O(n)
Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!