알고리즘/BOJ

백준 1527번 금민수의 개수

꾸준함. 2018. 9. 26. 01:05

문제 링크입니다: https://www.acmicpc.net/problem/1527


간단히 재귀를 이용해 풀 수 있는 브루트 포스(Brute Force) 문제였습니다.

주의할 점은 조건을 찾을 때 overflow를 방지하기 위해 long long형 변수를 매개변수로 전달해야한다는 점입니다.


#include <iostream>

using namespace std;

 

int A, B;

long long result;

 

//overflow 방지 위해 long long

void goldMinsoo(long long num)

{

        if (num > B)

                 return;

 

        if (A <= num && num <= B)

                 result++;

       

        goldMinsoo(num * 10 + 4);

        goldMinsoo(num * 10 + 7);

}

 

int main(void)

{

        ios_base::sync_with_stdio(0);

        cin.tie(0);

        cin >> A >> B;

 

        goldMinsoo(4);

        goldMinsoo(7);

        cout << result << "\n";

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 5901번 Relocation  (0) 2018.09.26
백준 5900번 Cow IDs  (0) 2018.09.26
백준 2243번 사탕상자  (0) 2018.09.25
백준 2023번 신기한 소수  (2) 2018.09.24
백준 2852번 NBA 농구  (0) 2018.09.24