GeeksforGeeks App
Open App
Browser
Continue

# Python program to find the factorial of a number using recursion

A factorial is positive integer n, and denoted by n!. Then the product of all positive integers less than or equal to n.

For example:

In this article, we are going to calculate the factorial of a number using recursion.

Examples:

```Input: 5
Output: 120

Input: 6
Output: 720```

Implementation:

If fact(5) is called, it will call fact(4), fact(3), fact(2) and fact(1). So it means keeps calling itself by reducing value by one till it reaches 1.

## Python3

 `# Python 3 program to find ``# factorial of given number``def` `factorial(n):``    ` `    ``# Checking the number``    ``# is 1 or 0 then``    ``# return 1``    ``# other wise return``    ``# factorial``    ``if` `(n``=``=``1` `or` `n``=``=``0``):``        ` `        ``return` `1``    ` `    ``else``:``        ` `        ``return` `(n ``*` `factorial(n ``-` `1``))` `# Driver Code``num ``=` `5``;``print``(``"number : "``,num)``print``(``"Factorial : "``,factorial(num))`

Output

```number :  5
Factorial :  120```

Time complexity: O(n)

Space complexity: O(n)

My Personal Notes arrow_drop_up