ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 2502번 : 떡 먹는 호랑이
    피보나치(Fibonacci) 2018. 6. 17. 16:11
    반응형

    https://www.acmicpc.net/problem/2502


    1. 문제 요약

    피보나치 응용 문제


    2. 알고리즘

    피보나치 수열을 구하고 입력 받은 k 의 차이 값을 구한다.


    3. 코드

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <algorithm>
    #include <functional>
    #include <vector>
    #include <list>
    #include <queue>
    #include <map>
    using namespace std;
     
    int main() {
        
        std::ios::sync_with_stdio(false); cin.tie(0);
     
        int fib[31= {0,};
     
        int d, k; cin >> d >> k;
        fib[1]=fib[2= 1;
     
        for(int i=3;i<=d;++i) {
            fib[i] = fib[i-1+ fib[i-2];
        }
     
        int c1 = fib[d-2];
        int c2 = fib[d-1];
        
        for(int i=1;;++i) {
            int a = i;
            if((k-c1*a)%c2)
                continue;
     
            int b = (k-c1*a)/c2;
            
            if(a>b) {
                swap(a,b);
            }
     
            cout << a << "\n";
            cout << b << "\n";
            break;
        }
        return 0;
    }
    cs

    반응형

    '피보나치(Fibonacci)' 카테고리의 다른 글

    백준 2748번: 피보나치 수2  (0) 2018.07.03
    백준 1003번: 피보나치 함수  (0) 2018.07.03

    댓글

Designed by Tistory.