오경석의 개발노트

Python 알고리즘_팩토리얼 본문

알고리즘/Python 알고리즘

Python 알고리즘_팩토리얼

OHSAYU 2022. 11. 17. 23:17
# factorial_algorithm_1, 계산복잡도 : O(n)
def factorial(n):
    result = 1
    for i in range(2, n + 1):
        result *= i
    return result
# factorial_algorithm_2, 계산복잡도 : O(n)
def factorial2(n):
    if n < 1: # 종료 조건
        return 1
    return n * factorial2(n - 1)
# factorial_algorithm_2, 계산복잡도 : O(n)
def factorial_2(n):
    return n * factorial_2(n - 1) if n > 1 else 1
Comments