[C++] BOJ 16953 A ➡️ B

서연주·2023년 9월 16일
0

Algorithm

목록 보기
25/25

'A➡️B'

BOJ 'A➡️B' 문제 보러가기

풀이 코드

풀이 아이디어만 떠오르면 쉽게 풀 수 있는 문제이다.

#include <iostream>
using namespace std;

int A,B,answer = 0;

// 1. B가 짝수면 2로 나눈다
// 2. 끝자리가 1로 끝나면 끝의 1자리를 뗸다
// 3. 더이상 할 수 있는 게 없으면 -1을 출력한다

int modifyAToB (int num){
    if(num == A){
        return answer+1;
    }
    else if( num < A ){
        return -1;
    }
    if(num %2 == 0){
        answer++;
        return modifyAToB(num/2);
    }
    if(num%10 == 1){
        answer++;
        return modifyAToB(num/10);
    }
    return -1;
}

int main() {
    cin >> A >> B;
    
    cout << modifyAToB(B);

}
profile
pizz@ttang

0개의 댓글