题目描述
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
输入描述:
输入共1行,为两个正整数L和R,之间用一个空格隔开。
输出描述:
输出共1行,表示数字2出现的次数。
示例1
输入
复制2 22
2 22
输出
复制6
6
示例2
输入
复制2 100
2 100
输出
复制20
20
备注:
1≤L≤R≤10000。
分析:
用for循环,将i赋值给int a;
注意:
判断a是否20,30,40等。
代码:
#include<iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int cnt=0,num,a=0;
for (int i = n; i <= m; i++) {
a = i;
if (a % 10 != 0)//判断是否为20,30,40...
{
while (a != 0) {
num = a % 10;
if (num == 2)cnt += 1;
a = a / 10;
}
}
else {
while (a != 0) {
num = a % 10;
if (num == 2)cnt += 1;
a = a / 10;
}
}
}
cout << cnt;
}