In this example, you’ll learn to find the factorial of a number using a recursive function.

To understand this example, you should have the knowledge of following R programming topics:

  • R Functions
  • R Recursive Function
  • R if…else Statement

The factorial of a number is the product of all the integers from 1 to the number.

For example, the factorial of 6 (denoted as 6!) as

1 * 2 * 3 * 4 * 5 * 6 = 720

Factorial is not defined for negative numbers and the factorial of zero is one, 0! = 1.

In this example, the factorial of a number is calculated using a recursive function. However, you can also calculate it without the recursive function.

Learn more about how to find the factorial of a number without recursion.

Example: Find Factorial of a number using recursion

recur_factorial <- function(n) { if(n <= 1) { return(1) } else { return(n * recur_factorial(n-1)) } }

Output

> recur_factorial(5) [1] 120

Here, we ask the user for a number and use recursive function recur_factorial() to compute the product upto that number.

Lets suppose the user passes 5 to the function.

Inside the recur_factorial(), the number 5 is multiplied to the factorial of (5 – 1 = 4).

4 is multiplied again to the factorial of (4 – 1 = 3). This goes on until the number reaches 1.

Now, all previous functions of 2, 3, 4 and 5 returns the result one by one giving you the final result 1*2*3*4*5, which equals 120.