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

Download   Run Code

Output:

The Factorial of 5 is 120

Java

Download   Run Code

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 –

Download   Run Code

Output:

The Factorial of 6 is 720

 
 
Also See: Iterative program to find factorial of a number

 
Exercise: Efficiently print factorial series in a given range.

 
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

Loading...

Thanks for reading.

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 🙂
 



Leave a Reply

avatar
  Subscribe  
Notify of