본문 바로가기
문제 해결/BaekJoon

[백준] [C++] 10870번 피보나치 수 5

by WSLim_97 2023. 1. 13.
반응형

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번째 피보나치 수를 찾아 출력하였다.

반응형