# Behold, the factorial

competitive python nptel## Question #

Find the factorial $n!$, of a positive integer $n$.

The factorial $n!$ is defined as:
$$n! = \prod_{i=1}^{n}{i} = 1 \times 2 \times …\times n$$

## Solution #

This is a fairly simple problem which can be trivially solved using loops.

```
fact = 1
for i in range(1, n+1):
fact *= i
print(fact)
```

We can approach the same thing using recursion also, by exploiting the fact that $n! = n \times (n-1)!$.

```
def fact(n):
if n > 1:
return n*fact(n-1)
return 1
print(fact(n))
```

Now coming to the main part, we can get our one-liner using the recursive approach.

```
def fact(n): return n*fact(n-1) if n > 1 else 1
print(fact(n))
```

## Comments

Nothing yet.