알고리즘 공부 및 문제 풀이/백준(BOJ)
[boj] 백준 1527 금민수의 개수 - 재귀&브루트포스
yoonjiy
2022. 2. 16. 14:45
[문제]
https://www.acmicpc.net/problem/1527
1527번: 금민수의 개수
첫째 줄에 A와 B가 주어진다. A는 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. B는 A보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
[풀이]
범위 내에 존재하는 4와 7로만 이루어진 숫자를 재귀로 전부 탐색한다.
[코드]
// Created by strit on 2022-02-16. silver1 1527 금민수의 개수 - 브루트 포스 & 재귀
#include <iostream>
#include <vector>
#include <algorithm>
using namespace::std;
long long a, b;
int cnt;
void solve(long long num){
if(num > b)
return;
else if(a <= num && num <= b){
cnt++;
}
solve(num * 10 + 4);
solve(num * 10 + 7);
}
int main() {
//금민수 - 4와 7로만 이루어진 수
//a이상 b이하의 수 중 금민수의 개수를 구해라.
cin >> a >> b;
solve(4);
solve(7);
cout << cnt;
}