トピック
与えられた範囲[L、R]内のすべての整数の中で数2の出現数を数えてください。
たとえば、範囲[2、22]の場合、番号2は番号2に1回、番号12に1回、番号20に1回、番号21に1回表示され、番号22に2回表示されます。数字の2はこの範囲で6回出現します。
入力フォーマット:
入力は1行で、2つの正の整数LとRがスペースで区切られています。
出力フォーマット:
出力には合計1行があり、番号2の出現回数を示します。
データ範囲
1≤L≤R≤10000
入力サンプル:
2 22
サンプル出力:
6
思考分析:
to_stringを介してint型を文字列型に変換してから、文字列をトラバースします。
コード:
シミュレーション1
#include <iostream>
#include <string>
using namespace std;
int main(){
string s;
int count = 0, a, b;
cin >> a >> b;
for(int i = a; i <= b; i++) s = s + to_string(i);
for(int i = 0; i < s.length(); i++){
if(s[i] == '2'){
count++;
}
}
cout << count << endl;
return 0;
}