数字统计
题目描述
请统计某个给定范围[L, R][L,R]的所有整数中,数字 22 出现的次数。
比如给定范围[2, 22][2,22],数字 22 在数 2 2中出现了 11 次,在数 1212 中出现 11 次,在数 2020 中出现 1 1次,在数 21 中出现 11 次,在数 2222 中出现 2 2次,所以数字 22 在该范围内一共出现了 66次。
输入格式
22个正整数 LL 和 RR,之间用一个空格隔开。
输出格式
数字 2 2出现的次数。
输入输出样例
输入
2 22
输出
6
输入
2 100
输出
20
说明/提示
1 ≤ L ≤R≤ 1000001≤L≤R≤100000。
___
首先,读入; 再用循环判断每一位数字是否为2; 接下来用ans计数。 最后输出。
#include <bits/stdc++.h>
using namespace std;
int main(){
long n,m,ans;
cin>>m>>n;
for(int i=m;i<=n;i++)
{
for(int j=10;1;j*=10)
{
if((i%j-i%(j/10))/(j/10)==2)
{
ans++;
}
if(i%j>=i)
break;
}
}
cout<<ans;
return 0;
}