IT 프로그래밍/객체지향프로그래밍

[C++] 피보나치 수열 초보자용 만들기

기술1 2024. 4. 10. 22:47
반응형
#include <iostream>

using namespace std;

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

	int prev1 = 1, prev2 = 1, cur;
	for (int i = 2; i <= n; i++)
	{
		cur = prev1 + prev2;
		prev2 = prev1;
		prev1 = cur;
	}

	cout << cur;
	return 0;
}

f 0 = 1이고 f 1 = 1입니다. 

그래서 처음에 prev1, prev2를 정의를 해준 것입니다. 

 

즉 주어진 코드는 피보나치 수열을 계산하여 n번째 항을 출력하는 프로그램입니다. 첫 번째 항과 두 번째 항은 모두 1입니다. 세 번째 항부터는 이전 두 항의 합으로 정의됩니다.

 

주어진 코드를 활용하여 n 번째 항을 계산합니다. 

 

1. 변수 prev1 과 prev2는 각각 이전 항과 그 전 항을 저장합니다. 처음에는 첫 번째와 두 번째 항을 모두 1로 초기화합니다. 

2. 반복문을 통해 세 번째 항부터 n 번째 항까지 계산합니다. 현재 항 cur은 이전 항 prev1과 그 전 항 prev2로 계산됩니다. 현재 항이 계산된 후에는 prev1과 prev2가 갱신되어야합니다.

3. 새로 계산된 cur이 이 다음 반복에서의 prev1이 될 것이고 이전의 prev1이 prev2가 될 것입니다.  그래서 cur = prev1+ prev2로 정의, prev2 = prev1, prev1 = cur로 정의해줍니다. 

 

반복문이 종료되면 cur을 출력해줍니다. 

반응형