728x90
반응형
문제 링크 : https://www.acmicpc.net/problem/27433
목차
1. 설명
2. 내 코드
3. 문제 풀이 해석 내용
4. 실행 결과
설명
백준 브론즈 5 문제 입니다.
문제명 : 팩토리얼 2
내 코드
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
long long int cal(int a)
{
if (a <= 1) return 1;
return a * cal(a - 1);;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
std::cout.tie(NULL);
int a;
cin >> a;
if (a <= 20)
{
cout << cal(a);
}
}
문제 풀이 해석 내용
팩토리얼 계산 함수 정의
long long int cal(int a)
{
if (a <= 1) return 1;
return a * cal(a - 1);
}
cal 함수는 정수 a의 팩토리얼을 계산하는 재귀 함수입니다.
입력 a가 1 이하인 경우, 팩토리얼은 1이므로 1을 반환합니다.
그렇지 않은 경우, a와 cal(a - 1)의 곱을 반환하여 팩토리얼을 계산합니다.
메인 함수 정의
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
std::cout.tie(NULL);
프로그램의 시작점인 main 함수를 정의하고,
입출력을 더 빠르게 하기 위해 C++의 동기화를 비활성화합니다.
입력 처리
int a;
cin >> a;
if (a <= 20)
{
cout << cal(a);
}
사용자로부터 정수 a를 입력받습니다.
입력된 값 a가 20 이하인 경우, cal(a)를 호출하여 팩토리얼을 계산하고 결과를 출력합니다.
실행 결과

'c++' 카테고리의 다른 글
| 백준 c++ 1978 문제 풀이 (0) | 2025.04.12 |
|---|---|
| 백준 c++ 1085 문제 풀이 (0) | 2025.04.11 |
| 백준 c++ 10870 문제 풀이 (0) | 2025.04.09 |
| 백준 c++ 18870 문제 풀이 (0) | 2025.04.08 |
| 백준 c++ 1152 문제 풀이 (0) | 2025.04.07 |