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

소스 코드
def recursive(n):
if (n>1):
return n*recursive(n-1)
else:
return 1
n=int(input())
print(recursive(n))
정리
factorial이란?
어떤 자연수 이하의 모든 자연수를 차례로 곱한 값을 의미하며, 계승이라고도 한다.
표기는 n!으로 표시하며 n!=n*(n-1)! 로 계산된다.
자연수 n을 입력받고 해당 값이 1보다 작아질때까지 재귀함수를 구현하여 곱해준다.
재귀함수란? 함수 안에 자기 자신을 다시 호출하여 작업을 수행하는 방식이다.
recursive(3) = 3 * recursive(2)
recursive(2) = 2 * recursive(1)
recursive(1) = 1
=> recursive(3) = 3*2*1 = 6 이 된다.
'Python > Baekjoon' 카테고리의 다른 글
| [백준] 2754 : 학점계산 (Python) (0) | 2025.08.06 |
|---|---|
| [백준] 10156번 : 과자 (Python) (1) | 2025.08.06 |
| [백준] 1978번 : 소수찾기 (Python) (0) | 2024.11.25 |
| [백준] 1152번 : 단어의 개수 (Python) (0) | 2024.11.25 |