# Factorials are a useful tool but can be tricky to implement. Luckily there are many methods to accomplish it.

The definition of a factorial is:

n! = n × (n − 1) × … × 2 × 1

or

n! = n × (n − 1)!

We can also use the following definition to calculate the factorial.

0! = 1

1! = 1

2! = 2 * 1 = 2

3! = 3 * 2 * 1 = 6

4! = 4 * 3 * 2 * 1 = 24

Let’s implement this in Python.

def factorial(x):

if x == 0:

return 1

else:

return x * factorial(x-1)

def factorial(n):

result = n

for i in range (1, n):

result *= i

return result

print(factorial(4))

def factorial(a):

if a == 0:

return 1

return a * factorial(a – 1)

print(factorial(5))

from functools import reduce

def factorial(n):

if n == 0:

return 1

else:

return n * factorial(n-1)

print(factorial(5))

def factorial(num):

if num==1:

return 1

else:

return num * factorial(num-1)

def factorial_norecursion(num):

fact = 1

for i in range(2,num+1):

fact *= i

return fact

print(factorial_norecursion(4))

import math

def factorial(n):

if n == 0:

return 1

else:

return n * factorial(n-1)

n=int(input(“Input a number to compute the factiorial : “))

print(factorial(n))