VOOZH about

URL: https://www.geeksforgeeks.org/python/python-program-for-factorial-of-a-number/

⇱ Factorial of a Number in Python - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Factorial of a Number in Python

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.


Output
720

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().


Output
720

Explanation:

  • if n >= 0: ensures factorial is only calculated for non-negative numbers.
  • np.prod(range(1, n+1)): multiplies all integers from 1 to n using NumPy’s optimized product function.

Using For Loop

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


Output
720

Explanation:

  • if n < 0: checks for negative numbers; factorial isn’t defined.
  • f = 1: initializes the product.
  • for i in range(1, n+1): f *= i multiplies all numbers from 1 to n iteratively.

Using Recursive Function

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


Output
720
Factorial is not defined for negative numbers

Explanation:

  • if n < 0: handles negative numbers; factorial isn’t defined for them.
  • return 1 if n <= 1 else n * fact(n-1): recursive calculation multiplies n by factorial of n-1 until base case (0! or 1! = 1).
Comment
Article Tags: