본문 바로가기

코딩테스트(python)/백준

백준 10872번 파이썬

반응형

1. 문제

2. 설명

이번 문제는 재귀함수를 이용하는 문제다. 종료조건에 도달할 때까지 함수 자기자신을 반복적으로 호출한다.

팩토리얼은 num x (num-1) x num-2 ... x 1 이므로, num에 계속해서 factorial(num-1)을 곱해주면 된다.

10 x factorial(9) 

= 10 x 9 x factorial(8)

= 10 x 9 x 8 x factorial(7)

...

이런식으로 num이 1일 때까지 반복된다.

만약 num이 1이라면 지금까지 곱했던 값에 1을 곱한후 (1이 return되기 때문) 종료된다.

만약 처음부터 num 값이 1이라면 1을 리턴한 후 종료된다.

3. 코드

def factorial(num):
    if num == 0:
        return 1
        quit()
    return num * factorial(num-1)
    
num = int(input())
print(factorial(num));
반응형

'코딩테스트(python) > 백준' 카테고리의 다른 글

백준 17478번 파이썬  (0) 2022.09.06
백준 10870번 파이썬  (0) 2022.09.05
백준 9020번 파이썬  (0) 2022.09.02
백준 4938번 파이썬  (0) 2022.09.02
백준 1929번 파이썬  (0) 2022.09.02