728x90
728x90
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
예제 입력 1
10
예제 출력 1
3628800
예제 입력 2
0
예제 출력 2
1
알고리즘 분류
- 수하
- 구현
- 집합론
문제 출처
https://www.acmicpc.net/problem/10872
10872번: 팩토리얼
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
www.acmicpc.net
문제 해결 방법
- 재귀 함수를 이용하여 팩토리얼을 구현하였다.
- 0!와 1!는 1임을 주의한다.
int factorial(int n) { if (n <= 1) { // 0! : 1, 1! : 1 return 1; } return n * factorial(n - 1); }
- 팩토리얼(Factorial)과 관련된 내용은 이곳을 참고한다.

코드
#include <iostream> using namespace std; int N; int factorial(int n) { if (n <= 1) { // 0! : 1, 1! : 1 return 1; } return n * factorial(n - 1); } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N; cout << factorial(N) << '\n'; return 0; }
채점 결과

참고
- [단계별로 풀어보기] > [재귀]
- 브론즈V
728x90
728x90
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ-2447][C++] 별 찍기 - 10 (0) | 2022.11.03 |
---|---|
[BOJ-24060][C++] 알고리즘 수업 - 병합 정렬 1 (0) | 2022.11.02 |
[BOJ-25501][C++] 재귀의 귀재 (0) | 2022.11.02 |
[BOJ-10870][C++] 피보나치 수 5 (0) | 2022.11.02 |
[BOJ-18870] 좌표 압축 (0) | 2022.11.01 |
[BOJ-10814][C++] 나이순 정렬 (0) | 2022.11.01 |
[BOJ-1181] 단어 정렬 (0) | 2022.11.01 |
[BOJ-11651][C++] 좌표 정렬하기 2 (0) | 2022.10.30 |