input: Write a function to calculate the factorial of a given number n using a recursive approach. If the given number is 0, return 1. Otherwise, return the product of the number and the factorial of the number minus one.
  assert factorial(0)==1
  assert factorial(1)==1
  assert factorial(5)==120
  assert factorial(3)==6
output: def factorial(n):
      if n == 0:
          return 1
      else:
          return n * factorial(n - 1)