区间[M,N]中X出现个数
例如 输入28 33 3 输出5
#include<iostream>
using namespace std;
long getnum1(long n, long i) {
long res = 0;
long factor = 1;
while (n / factor) {
long high = (n / factor) / 10;
long curr = (n / factor) % 10;
long low = n - (n / factor) * factor;
if (curr < i) {
res = res + (high)*factor;
}
else if (curr == i) {
res = res + (high)*factor + low + 1;
}
else if (curr > i) {
res = res + (high + 1) * factor;
}
factor = factor * 10;
}
return res;
}
long getnum(long M, long N, long X)
{
return getnum1(N, X) - getnum1(M, X);
}
void main(){
long a,b,c;
scanf("%d %d %d",&a,&b,&c);
cout<<getnum(a,b,c)<<endl;}