c++

백준 c++ 10870 문제 풀이

psb08 2025. 4. 9. 08:06
728x90
반응형

문제 링크 : https://www.acmicpc.net/problem/10870

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 브론즈 2 문제 입니다.

문제명 : 피보나치 수 5

 

내 코드

#include<iostream>
using namespace std;

int fi(int n)
{
	if (n <= 1)
		return n;
	else
	{
		return fi(n - 1) + fi(n - 2);
	}
}

int main()
{
	int a;
	cin >> a;
	if (a <= 20)
	{
		cout << fi(a) << endl;
	}
	else
	{
		cout << "1 ~ 20 사이로 입력해주세여" << endl;
	}
}

 

문제 풀이 해석 내용

 

피보나치 함수 정의

int fi(int n)
{
    if (n <= 1)
        return n;
    else
    {
        return fi(n - 1) + fi(n - 2);
    }
}

fi 함수는 피보나치 수를 계산하는 재귀 함수입니다.
입력 n이 0 또는 1인 경우, 해당 값을 그대로 반환합니다. (피보나치 수열의 정의에 따라 fi(0) = 0, fi(1) = 1)
그렇지 않은 경우, fi(n - 1)과 fi(n - 2)를 재귀적으로 호출하여 두 값을 더한 결과를 반환합니다.

 

메인 함수 정의

int main()
{
    int a;
    cin >> a;

프로그램의 시작점인 main 함수를 정의하고, 사용자로부터 정수 a를 입력받습니다.

 

 

입력 값 검사 및 피보나치 수 출력

if (a <= 20)
{
    cout << fi(a) << endl;
}
else
{
    cout << "1 ~ 20 사이로 입력해주세요" << endl;
}

입력된 값 a가 20 이하인 경우, fi(a)를 호출하여 피보나치 수를 계산하고 출력합니다.
만약 a가 20보다 큰 경우, "1 ~ 20 사이로 입력해주세요"라는 메시지를 출력합니다.

 

 

실행 결과

 

'c++' 카테고리의 다른 글

백준 c++ 1085 문제 풀이  (0) 2025.04.11
백준 c++ 27433 문제 풀이  (0) 2025.04.10
백준 c++ 18870 문제 풀이  (0) 2025.04.08
백준 c++ 1152 문제 풀이  (0) 2025.04.07
백준 c++ 11723 문제 풀이  (0) 2025.04.06