# Recursive Program to Calculate Factorial of a Number

Write a recursive C/C++ and java program to calculate factorial of a given positive number.

The factorial of a non-negative integer n is the product of all positive integers less than or equal to n. It is denoted by n!. There are n! different ways to arrange n distinct objects into a sequence.

For example,

The value of 5! is 120 as
5! = 1 x 2 x 3 x 4 x 5 = 120

The value of 0! is 1

The problem can be recursively defined as –

n! = | n * factorial(n – 1)         if n > 0
| 1                            if n = 0

For example,

0! = 1! = 1
2! = (1) x 2 = 1! x 2 = 2
3! = (1 x 2) x 3 = 2! x 3 = 6
4! = (1 x 2 x 3) x 4 = 3! x 4 = 24
5! = (1 x 2 x 3 x 4) x 5 = 4! x 5 = 120
6! = (1 x 2 x 3 x 4 x 5) x 6 = 5! x 6 = 720

## C

Output:

The Factorial of 5 is 120

## Java

Output:

The Factorial of 5 is 120

The time complexity of above solution is O(n) and auxiliary space used by the program is O(n) for call stack.

We can also write above recursive program in a single line as shown below –

Output:

The Factorial of 6 is 720

(1 votes, average: 5.00 out of 5)

Please use our online compiler to post code in comments. To contribute, get in touch with us.
Like us? Please spread the word and help us grow. Happy coding 🙂