반응형
https://www.acmicpc.net/problem/10870
10870번: 피보나치 수 5
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
코드
#include <iostream>
using namespace std;
const int COUNT = 21;
int main()
{
int n;
long long arr[COUNT] = { };
cin >> n;
for (int i = 0; i < COUNT; i++)
{
if (i == 0)
arr[i] = 0;
else if (i == 1)
arr[i] = 1;
else
arr[i] = arr[i - 1] + arr[i - 2];
}
cout << arr[n] << endl;
return 0;
}
풀이
정수 n이 입력되었을 때 n번째 피보나치 수를 출력하는 문제이다.
피보나치 수의 0번째 수는 0이고 1번째 수는 1이다. 2번째 수부터는 전 값과 전전 값을 더한 값이 된다.
즉, Fn = F(n - 1) + F(n - 2) 이다.
위 피보나치 수열을 for 반복문으로 배열에 입력한 뒤 n번째 피보나치 수를 찾아 출력하였다.
반응형
'문제 해결 > BaekJoon' 카테고리의 다른 글
[백준] [C++] 11047번 동전 0 (0) | 2023.01.17 |
---|---|
[백준] [C++] 5576번 콘테스트 (0) | 2023.01.13 |
[백준] [C++] 5800번 성적 통계 (0) | 2023.01.13 |
[백준] [C++] 3058번 짝수를 찾아라 (0) | 2023.01.13 |
[백준] [C++] 10809번 알파벳 찾기 (0) | 2023.01.13 |