AcWing441。デジタル統計

トピック

与えられた範囲[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;
}

問題解決策のタイトルリンクを取得する

おすすめ

転載: blog.csdn.net/zy440458/article/details/113793982