코딩테스트(python)/백준
백준 10872번 파이썬
bbeyak
2022. 9. 5. 19:58
반응형
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));
반응형