[파이썬][백준 10872번] 팩토리얼
1. 문제
[Bronze III] 팩토리얼 - 10872
성능 요약
메모리: 30864 KB, 시간: 68 ms
분류
구현(implementation), 수학(math)
문제 설명
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
출처: 백준, https://https://www.acmicpc.net/
2. 해결방법 시간복잡도
- 단순 코딩, 재귀문 1번 호출 O(N)
3. 문제 해결 및 코드
-
주석을 참고하면서 이해를 돕습니다.
4. 알고리즘 및 해설
- N!를 구하기위해 재귀문을 통해 해당 값 - 1을 반복적으로 호출하여 최종적으로 해당 정수까지의 곱을 구한다.
- F(N) = F(N - 1) * F(N - 2) * … F(0)
5. 짚고 넘어가기
- 팩토리얼 문제는 1부터 해당 수까지의 곱이다. 단순 반복으로도 해결이 가능하다.
- math 라이브러리를 통해서 간단하게 구현도 가능하다.
import math
print(math.factorial(N)) # N값까지의 팩토리얼