Open In App

Java Program for Factorial of a Number

Last Updated : 07 Apr, 2025
Comments
Improve
Suggest changes
26 Likes
Like
Report

The factorial of a non-negative integer is multiplication of all integers smaller than or equal to n. In this article, we will learn how to write a program for the factorial of a number in Java.

Formulae for Factorial

n! = n * (n-1) * (n-2) * (n-3) * ........ * 1

Factorial of a Number in Java

Example:

6! == 6*5*4*3*2*1 = 720. 
5! == 5*4*3*2*1 = 120
4! == 4*3*2*1 = 24

Methods to Find the Factorial of a Number

1. Iterative Solution for Factorial in Java

Below is the implementation of the above method:


Output
Factorial of 5 is 120

The complexity of the above method:

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

2. Factorial in Java Using Recursive Method

Below is the implementation of the above method:


Output
Factorial of 5 is 120

The complexity of the above method:

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

3. One-line Solution (Using the Ternary operator)

Below is the implementation of the above method:


Output
Factorial of 5 is 120

The complexity of the above method:

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

In the previous methods, we used basic data types like int or long to calculate factorials. But there's a problem and the problem is these data types can only store numbers up to a certain size, but what if the number is too big, when the number gets too big they can’t hold the full value, and the result becomes incorrect.

Note: Java provides a special class called BigInteger to handle large number without worrying about overflow.

Now, we are going to discuss how BigInteger class works in Java, It allows us to calculate factorials of very large number, such as 100! which would overflow the int or long types.

Factorial Using BigInteger


Output
Factorial of 100 is 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

Please refer factorial of large numbers for a solution that works for large numbers. Please refer complete article on the Program for factorial of a number for more details!


Factorial of A Number
Visit Course explore course icon
Next Article
Article Tags :
Practice Tags :

Similar Reads