input: Write a function to calculate the factorial of a given number `n`. If `n` is 0, return 1. Otherwise, return the product of `n` and 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(5)==120
  assert factorial(10)==3628800
output: def factorial(n):
   if n == 0:
    return 1
   else:
    return n * factorial(n-1)