题目描述
请统计某个给定范围[L,R]的所有整数中,数字 2 出现的次数。
比如给定范围[2,22],数字2 在数 2中出现了 1 次,在数12 中出现 1 次,在数 20 中出现 1次,在数 21 中出现 1 次,在数 22 中出现 2次,所以数字22 在该范围内一共出现了 6次。
输入格式
2个正整数 L 和 R,之间用一个空格隔开。
输出格式
数字 2出现的次数。
输入输出样例
输入 #1复制
2 22
输出 #1复制
6
输入 #2复制
2 100
输出 #2复制
20
说明/提示
1≤L≤R≤100000。
思路:存在一个范围,使用for循环一次遍历,每次对应值进入while循环取数位判断即可。
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int l,r,d,ddd;
int c=0;
cin>>l>>r;
for(int i=l;i<=r;i++){
d=i;
while(d){
ddd=d%10;
if(ddd==2)c++;
d/=10;
}
}
cout<<c<<endl;
return 0;
}