#include <iostream>
using namespace std;

int countDigit2(int n) {
    int count = 0;
    while (n > 0) {
        if (n % 10 == 2) {
            count++;
        }
        n /= 10;
    }
    return count;
}

int countRangeDigit2(int L, int R) {
    int count = 0;
    for (int i = L; i <= R; i++) {
        count += countDigit2(i);
    }
    return count;
}

int main() {
    int L, R;
    cin >> L >> R;
    int count = countRangeDigit2(L, R);
    cout << count << endl;
    return 0;
}

该代码使用两个函数实现,countDigit2函数用于统计一个整数中数字2出现的次数,countRangeDigit2函数用于统计指定范围内所有整数中数字2出现的次数。

countDigit2函数中,使用循环遍历整数的每一位,如果某一位的数字为2,则计数器加1,然后将整数除以10,继续处理下一位。

countRangeDigit2函数中,使用循环遍历指定范围内的所有整数,对每个整数调用countDigit2函数得到数字2出现的次数,并累加到计数器中。

最后,在main函数中,从输入中读取范围的起始和结束值,调用countRangeDigit2函数得到结果,并输出

述请统计某个给定范围L R的所有整数中数字2出现的次数。比如给定范围2 22数字2在数2中出现了1次在数12中出现1次在数20中出现1次在数21中出现1次在数22中出现2次所以数字2在该范围内一共出现了6次。输入输入共 1 行为两个正整数 L 和 R之间用一个空格隔开。输出输出共 1 行表示数字 2 出现的次数。 c++代码实现

原文地址: https://www.cveoy.top/t/topic/h2p9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录