The factorial of a positive number n is given by:

factorial of n (n!) = 1 * 2 * 3 * 4 * ... * n

The factorial of a negative number doesn't exist. And the factorial of 0 is 1.

You will learn to find the factorial of a number using recursion in this example. Visit this page to learn, how you can find the factorial of a number using loop.

## Example: Factorial of a Number Using Recursion

```
fun main(args: Array<String>) {
val num = 6
val factorial = multiplyNumbers(num)
println("Factorial of $num = $factorial")
}
fun multiplyNumbers(num: Int): Long {
if (num >= 1)
return num * multiplyNumbers(num - 1)
else
return 1
}
```

When you run the program, the output will be:

Factorial of 6 = 720

Initially, the `multiplyNumbers()`

is called from the `main()`

function with 6 passed as an argument.

Since 6 is greater than or equal to 1, 6 is multiplied to the result of `multiplyNumbers()`

where 5 (num -1) is passed. Since, it is called from the same function, it is a recursive call.

In each recursive call, the value of argument `n`um is decreased by 1 until `num` reaches less than 1.

When the value of `num` is less than 1, there is no recursive call.

And each recursive calls returns giving us:

6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720

Here's the equivalent Java code: Java Program to find factorial using recursion