diff --git a/lib/factorial.rb b/lib/factorial.rb index 6a4a408..26368e2 100644 --- a/lib/factorial.rb +++ b/lib/factorial.rb @@ -1,6 +1,13 @@ # Computes factorial of the input number and returns it -# Time complexity: ? -# Space complexity: ? +# Time complexity: O(n) where n is the value of the input number +# Space complexity: O(1) def factorial(number) - raise NotImplementedError + unless number + raise ArgumentError, "Non-number entered." + end + if number == 1 || number == 0 + return 1 + else + number * factorial(number - 1) + end end