Factorial of a Number in Python (original) (raw)

Last Updated : 19 May, 2026

Given an integer n, the task is to compute its factorial, i.e., product of all positive integers from 1 to n. Factorial is represented as n! and is commonly used in mathematics, permutations and combinatorics. For Example:

Input: n = 6
Output: 720
Explanation: 6! = 6 × 5 × 4 × 3 × 2 × 1 = 720

Let's explore different methods to find the factorial of a number.

Using math.factorial()

This method computes the factorial using Python’s built-in factorial() function, which performs the entire calculation internally without requiring loops or recursion in user code.

Python `

import math n = 6 print(math.factorial(n))

`

Using NumPy's np.prod()

NumPy performs multiplication through optimized C-level operations. It computes the factorial by multiplying all numbers from 1 to n in a single vectorized step using np.prod().

python `

import numpy as np

n = 6 if n >= 0: print(np.prod(range(1, n+1)))
else: print("Factorial is not defined for negative numbers")

`

**Explanation:

Using For Loop

This method calculates factorial by manually multiplying the numbers from 1 to n inside a for loop.

Python `

n = 6 if n < 0: print("Factorial is not defined for negative numbers") else: f = 1 for i in range(1, n+1): f *= i print(f)

`

**Explanation:

Using Recursive Function

This approach follows the mathematical definition of factorial by repeatedly calling the function with decreasing values until reaching the base case.

Python `

def fact(n): if n < 0: return "Factorial is not defined for negative numbers" return 1 if n <= 1 else n * fact(n-1)

print(fact(6))
print(fact(-3))

`

Output

720 Factorial is not defined for negative numbers

**Explanation: