공부/백준(C++) - 2022~

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

상연 2022. 1. 23. 15:24

목차

    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>
    #include <vector>
    using namespace std;
    
    int main() 
    {
    	vector<long> fibo;
    	fibo.push_back(0);
    	fibo.push_back(1);
    	fibo.push_back(1);
    	
    	int n;
    	cin >> n;
    	
    	for(int i=3; i<=n; i++)
    	{
    		fibo.push_back(fibo[i-2] + fibo[i-1]);
    	}
    	
    	cout << fibo[n];
    	
    	
    	
    }

     

    설명

    분류는 재귀로 되어있는데, 그냥 갑자기 재귀로 풀기 싫어져서 그냥 푼 문제.

    사실 재귀로 짜나 반복문으로 짜나 둘 다 비교적 간단한 코드구현이기 떄문에

    배열도 선언하기 귀찮아서 그냥 Vector 하나 선언해주고 동적으로 계속해서 추가해주는 방식으로 구현했다.

    가면 갈수록 섬세하게 짜는거보다 그냥 돌아가라는 식으로 짜게 돼서 큰일이다...

     

    '공부 > 백준(C++) - 2022~' 카테고리의 다른 글

    백준 1002번: 터렛 [C++]  (0) 2022.01.23
    백준 2447번: 별 찍기-10 [C++]  (0) 2022.01.23
    백준 10872번: 팩토리얼 [C++]  (0) 2022.01.23
    백준 1002번: 터렛 [C++]  (0) 2022.01.22
    백준 3053번: 택시 기하학[C++]  (0) 2022.01.20