본문 바로가기
Python/Baekjoon

[백준] 10872번 : 팩토리얼 (Python)

by 고구마랑쪼오꼬랑 2024. 11. 25.

문제

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 이 된다.