[C++]白俊1527号:金民秀の個数


質問リンク


1527号:金民秀個数

問題の概要


a以上,b以下の4と7の組成の数を求めなければならない.

方法


再帰呼び出しで文字列に「4」と「7」を追加します.文字列を整数に変換し、aかbかを確認します.

コード#コード#

#include <bits/stdc++.h>

using namespace std;

int a, b, ans;
char arr[2] = { '4', '7' };
string str;

void func(int cnt) {
	if (cnt == 10)
		return;

	for (int i = 0; i < 2; i++) {
		str.push_back(arr[i]);
		long long num = stoll (str);

		if (num >= a && num <= b)
			ans++;

		func(cnt + 1);

		str.pop_back();
	}
}

int main(void) {
	cin >> a >> b;
	func(0);
	
	cout << ans;
	return 0;
}