문제 링크입니다: https://www.acmicpc.net/problem/2747
백준 알고리즘 사이트 단계별로 풀어보기 항목을 보다가 '피보나치 수' 문제집 옆에 도전 중이라고 쓰여있는 것을 보고 완료하고 싶어서 풀어봤습니다.
#include <iostream>
using namespace std;
int N;
int fibonacci(void)
{
switch (N)
{
case 0: //0번째
return 0;
case 1: //1번째
return 1;
default: //그 이후
int first = 0;
int second = 1;
int sum; //합
for (int i = 0; i < N - 1; i++)
{
sum = first + second;
first = second;
second = sum;
}
return sum;
}
}
int main(void)
{
cin >> N;
if (N < 0 || N >45)
exit(-1);
cout << fibonacci() << endl;
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
*피보나치 수 2(https://www.acmicpc.net/problem/2748)는 자료형을 int에서 long long으로 바꿔주고 N 조건문을 45에서 90으로 바꿔주면 됩니다.
'알고리즘 > BOJ' 카테고리의 다른 글
백준 11055번 가장 큰 증가 부분수열 (0) | 2018.02.22 |
---|---|
백준 11048번 이동하기 (0) | 2018.02.22 |
백준 11057번 오르막 수 (0) | 2018.02.22 |
백준 2167번 2차원 배열의 합 (0) | 2018.02.19 |
백준 9465번 스티커 (0) | 2018.02.18 |