input: Write a function to calculate the factorial of a given number n using recursion. The function should return 1 if n is 0 and otherwise recursively multiply n by the factorial of n-1. 
  def factorial(n):
   if n == 0:
    return 1
   else:
    return n * factorial(n-1)
  assert factorial(0)==1
  assert factorial(1)==1
  assert factorial(5)==120
  assert factorial(4)==24
  assert factorial(3)==6
output: def factorial(n):
   if n == 0:
    return 1
   else:
    return n * factorial(n-1)