In this article you will know how to find a factorial of a number using different techniques.

A factorial of a whole number ** n **is written as

**in mathematics an**

*n!**d*

*n1 = n * (n – 1)!*The factorials are used to count the permutations there are n! different ways of arranging n distinct objects into a sequence and the factorial function grows exponentially in computation.

## Factorial using for loop

```
num = int(input("Enter a number: "))
factorial = 1
for i in range(1, num+1):
factorial *= i
print("The factorial of", num, "is", factorial)
```

### Output

```
The factorial of 5 is 120
```

This above program uses a for loop to iterate through the numbers from 1 to num, multiplying each one together to calculate the factorial.

The factorial variable is initialized to 1, since the multiplication of any number by 1 equals the original number.

Then, the for loop goes through each number from 1 to num, multiplying it by the current value of the factorial. Finally, the program prints out the factorial of the input number.

## Using recursion to find the factorial

```
def factorial(num):
if num == 1:
return 1
else:
return num * factorial(num-1)
num = int(input("Enter a number: "))
print("The factorial of", num, "is", factorial(num))
```

This program uses a recursive function to calculate the factorial of a number.

The factorial function takes in a number num, and checks if it equals 1. If it does, it returns 1 (since the factorial of 1 is 1). Otherwise, it multiplies num by the result of calling factorial with num-1. This continues recursively until the base case of num=1 is reached. Finally, the program prints out the factorial of the input number.

### Output

```
The factorial of 6 is 720
```