File size: 235 Bytes
b91943a
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
def factorial(n):
    if not isinstance(n, int):
        raise TypeError("n must be an integer")
    if n < 0:
        raise ValueError("n must be >= 0")
    result = 1
    for i in range(2, n+1):
        result *= i
    return result