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 |