백준 10872번 문제 링크
문제 이름 : 팩토리얼
주 언어 : Python
태그 : 수학 / 구현 / 조합론
solved.ac 등급 : Bronze V (새싹) (2023/04/28 확인)
문제 보기
문제 :
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력 :
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력 :
첫째 줄에 N!을 출력한다.
팩토리얼 값을 구하는 문제로, 간단한 반복문으로 처리할 수 있는 문제입니다.
예제 2에서도 볼 수 있듯이 편의상 0!은 1로 정의합니다.
N!은 1부터 N까지 모든 정수의 곱이므로, 1에다가 1을 곱하고, 2를 곱하고, 3을 곱하고... N을 곱해서 N!을 얻을 수 있습니다.
N = int(input())
으로 정수 입력을 받을 수 있고, 반복문으로 계속 정수를 곱해갑니다.
range(1, N)
을 하면 1부터 N - 1까지만 진행하고, range(0, N + 1)
을 하면 맨 앞에 0을 곱해버리니 꼭 피하셔야 합니다.
파이썬에서는 이렇게 풀 수 있고, C, C++ 등에서도 이와 비슷한 방법으로 풀 수 있습니다. 이와 비슷한 백준 27433번 - 팩토리얼 2 는 이 문제와 거의 똑같은 코드로 풀 수 있고, 백준 27434번 - 팩토리얼 3 의 경우 파이썬은 여전히 쉽지만 C, C++은 매우 풀기가 어려워집니다.
-번째 푼 문제 (2022/--/--)