본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 6780 : Sumac Sequences

반응형

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

 

6780번: Sumac Sequences

In a sumac sequence, t1, t2, .., tm, each term is an integer greater than or equal 0. Also, each term, starting with the third, is the difference of the preceding two terms (that is, tn+2 = tn − tn+1 for n ≥ 1). The sequence terminates at tm if tm−1

www.acmicpc.net

구현문제였습니다.

📕 풀이방법

📔 입력 및 초기화

 1. t1, t2, t2, 길이 cnt를 선언해줍니다. 2. t1, t2를 입력해줍니다.

📔 풀이과정

 t1 >= t2인 동안 while loop를 수행합니다. 1. t3 = t1 - t2입니다. 2. 이후 t1은 t2가 되고 t2는 t3이 됩니다. 3. 길이 cnt를 1증가시켜줍니다.

📔 정답출력

구한 cnt + 2를 출력합니다. 2를 더하는 이유는 t1, t2까지 포함한 길이여야 하기 때문입니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int t1, t2, t3, cnt;
int main(){
    cin >> t1 >> t2;
    while(t1 >= t2){
        t3 = t1 - t2;
        t1 = t2;
        t2 = t3;
        cnt++;
    }
    cout << cnt + 2;
}