코딩테스트

KOISTUDY 코이스터디 2661번 a+= C++ 풀이

5_솔방울 2022. 12. 15.

http://koistudy.net/?mid=prob_page&NO=2661 

 

KOISTUDY

 

koistudy.net

경곽이는 두 정수 a, b를 가지고 있으며 "a+=b"와 "b+=a"를 원하는 만큼 수행 할 수 있다. 경곽이는 이 두 연산과 a, b를 가지고 a와 b값 중 하나를 n보다 크게 만들고 싶어한다.

경곽이가 수행해야 하는 최소의 작업수를 출력해보자.

 

+=연산을 이용하여 특정 수까지 얼마나 연산을 해야하는지를 구하는 문제이다.

구현을 평가하는 문제로, 문제를 잘 읽고 불필요한 연산을 하지 않도록 조심하며 구현한다면 쉽게 풀리는 문제이다.

코드

#include<iostream>  
using namespace std;  
  
int main()  
{  
    int a, b,wannabe;  
    cin >> a >> b >> wannabe;  
    int num = 0;  
    while (a <= wannabe && b <= wannabe)  
    {  
        if (a>b)  
            b += a;  
        else  
            a += b;  
        num++;  
    }  
    cout << num;  
}

여담

백준, 코드업 보다 덜 알려진 사이트인 KOISTUDY를 처음 접하게 된 문제이다.

코이스터디는 경기과학고에서 운영하는 사이트인데, 문제마다 경곽이라는 친근한 아이가 나와 약간의 짜증과 함께 뇌리에 깊게 박힌다. 사실 이 사이트 이름이 잘 생각나지 않아서 경곽이라고 검색해서 찾았다

댓글