## 🎯 Overview#

Factorial of a number is multiplication of that number by every number below it till 1.

For eg: `4! = 4 x 3 x 2 x 1`

Important concepts to be aware of:

• Get of hold of factorial of 1 as 1, and use that in your logic forward in the program.
• This problem can be solved using iterative approach, as well as using recursive approach. I attempted both these approaches in the code shared below.

## 🎯 Solving the problem in Java#

Problem Statement: Write a Java program to calculate factorial of a given number.

``````/**
* Problem 6: Write a Java program to calculate factorial of a given number.
*/
public class Problem_6 {

public static void main(String[] args) {

System.out.println("Enter the number:");
Scanner sc = new Scanner(System.in);

int number = sc.nextInt();

if(number < 0) {
System.out.println("Factorial cannot be calculated for a negative number");
System.exit(0);
}

System.out.println(String.format("Factorial is %s", calculateFactorialIterative(number)));
System.out.println(String.format("Factorial is %s", calculateFactorialRecursive(number)));
System.out.println(String.format("Factorial is %s", calculateFactorialTernary(number)));
}

private static int calculateFactorialTernary(int number) {
return number == 0 ? 1 : number * calculateFactorialTernary(--number);
}

private static int calculateFactorialRecursive(int number) {

if(number == 0) {
return 1;
}

return number * calculateFactorialRecursive(--number);
}

private static int calculateFactorialIterative(int number) {
int factorial = 1;

for (int i = 2; i <= number; i++) {
factorial = factorial * i;
}

return factorial;
}
}
``````

Output:

``````Enter the number:
4
Factorial is 24
Factorial is 24
Factorial is 24

Process finished with exit code 0

``````

## 🎯 Github#

Code shared in this post can be found here.