diff --git a/maths/factorial.py b/maths/factorial.py index aaf90f384bb9..d74973725dc0 100644 --- a/maths/factorial.py +++ b/maths/factorial.py @@ -2,6 +2,9 @@ Factorial of a positive integer -- https://en.wikipedia.org/wiki/Factorial """ +from functools import reduce +from operator import mul + def factorial(number: int) -> int: """ @@ -29,9 +32,7 @@ def factorial(number: int) -> int: raise ValueError("factorial() only accepts integral values") if number < 0: raise ValueError("factorial() not defined for negative values") - value = 1 - for i in range(1, number + 1): - value *= i + value = 1 if number in {0, 1} else reduce(mul, range(1, number + 1)) return value