본문 바로가기

Baekjoon/C++

[C++][BOJ/백준] 1526 가장 큰 금민수

 

 

Baekjoon Online Judge

 

클릭 시 문제로 이동

 

 

[문제]

은민이는 4와 7을 좋아하고, 나머지 숫자는 싫어한다. 금민수는 어떤 수가 4와 7로만 이루어진 수를 말한다.

N이 주어졌을 때, N보다 작거나 같은 금민수 중 가장 큰 것을 출력하는 프로그램을 작성하시오.

 

 

[입력]

첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.

 

 

[출력]

첫째 줄에 N보다 작거나 같은 금민수 중 가장 큰 것을 출력한다.

 

 


 

[코드]

#include <iostream>
using namespace std;

int main()
{
    int N, res = 0;

    cin >> N;

    for (int i = 4; i <= N; i++)
    {
        int tmp = i;
        bool tf = true;

        while (tmp > 0)
        {
            if (tmp % 10 == 4 || tmp % 10 == 7)
            {
                tmp /= 10;
                continue;
            }
            else
            {
                tf = false;
                break;
            }
        }

        if (tf == true)
            res = i;
    }

    cout << res << '\n';

    return 0;
}