述请统计某个给定范围L R的所有整数中数字2出现的次数。比如给定范围2 22数字2在数2中出现了1次在数12中出现1次在数20中出现1次在数21中出现1次在数22中出现2次所以数字2在该范围内一共出现了6次。输入输入共 1 行为两个正整数 L 和 R之间用一个空格隔开。输出输出共 1 行表示数字 2 出现的次数。 c++代码实现
#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函数得到结果,并输出
原文地址: https://www.cveoy.top/t/topic/h2p9 著作权归作者所有。请勿转载和采集!