Find Factorial of Number. OR
Java Program to Find Factorial of Number. OR
Recursive Program to find Factorial of Number.
A factorial is a function that multiplies a number by every number below it.
Factorial of 5
5! = 5 * 4 * 3 * 2 * 1 = 120.
Factorial of 3
3! = 3 * 2 * 1 = 120.
Note: The value of 0! is 1
Below you can get Factorial of number till 20.
![]() |
| Factorial of numbers from 1 to 20 chart |
Algorithm
Lets see algorithm for printing Factorial of a Number.
We will see 3 ways of finding Factorial of number,
- Recursive Implementation
- Iterative Implementation
- Using BigInteger for Large values.
In case if you are still finding it difficult to understand, not to worry, lets walk through complete recursive call stack of Factorial of a number.
![]() |
| Factorial of a number using recursion |
Java Program to Print Factorial of a number using Recursion.
package javabypatel;
import java.math.BigInteger;
public class FindFactorialOfNumber {
public static void main(String[] args) {
System.out.println(factRecursive(5));
System.out.println(factIterative(5));
System.out.println(factorialForLargeNumbers(5));
}
//Recursive Implementation
private static int factRecursive(int num){
if(num < 0){
return -1;
}
if(num == 1 || num == 0){
return 1;
}
num = num * factRecursive(num-1);
return num;
}
//Iterative Implementation
private static int factIterative(int num){
if(num < 0){
return -1;
}
int fact = 1;
for (int i = 1; i <= num; i++) {
fact *= i;
}
return fact;
}
//Using BigInteger for Large values
public static String factorialForLargeNumbers(int num) {
if(num < 0){
return "-1";
}
BigInteger fact = new BigInteger("1");
for (int i = 1; i <= num; i++) {
fact = fact.multiply(new BigInteger(String.valueOf(i)));
}
return fact.toString();
}
}
Compress a given string in-place and with constant extra space.
Check whether a given string is an interleaving of String 1 and String 2.
Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest transformation sequence from beginWord to endWord.
Serialize and Deserialize a Binary Tree
Advanced Multithreading Interview Questions In Java
Enjoy !!!!
If you find any issue in post or face any error while implementing, Please comment.








Post a Comment