Factorial

Compute the factorial of a given input non-negative integer.

Exercise

  • Design and implement a method that computes factorial of the input non-negative integer and returns it.
  • Factorial of a given number, n is represented as n! and is defined as follows:
    • 0! = 1
    • n! = n * (n-1)! if n > 0
    •  = *n * (n-1) * (n-2) * ... * 1*
      
  • For example,
    • 3! = 3 * 2 * 1 = 6. 6! = 720.
  • Share and explain the time and space complexities for your solution in the comment above the method implementation.
    • If you describe the complexity in terms of n, be sure to explain what n stands for.
  • If you think of multiple approaches to solve the problem, implement the solution which minimizes space complexity. Explain the other approaches, and your decision in comments above the code.

Further reading: Learn more on Factorial.