c++

백준 c++ 27433 문제 풀이

psb08 2025. 4. 10. 00:12
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