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

Please use ideone or C++ Shell or any other online compiler link to post code in comments.
Like us? Please spread the word and help us grow. Happy coding 🙂

Get great deals at Amazon