반응형
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 |