코딩일지/python 백준 알고리즘

python 백준 알고리즘 10872번: 팩토리얼

야언 2022. 9. 19. 12:38

https://www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

** N = 0일때 출력이 1

 

기본 팩토리얼 재귀 함수는

# Factorial(N)  = N*Factorial(N-1)
# ...
# Factorial(1) = 1  N이 1일때 리턴값 만들기

def factorial(n):
    if n == 1:
        return 1

    return n * factorial(n - 1)

 

여기서 n == 0:으로 바꿔주면 입력이 0일시 출력 1이면서 n이 1일 경우에도 입력값 1로 정상작동한다.

 

def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n-1)

n = int(input())
print(factorial(n))