题解 | #数圈圈#
数圈圈
https://ac.nowcoder.com/acm/problem/14556
#include<iostream>
using namespace std;
int x[1000005];
int check(int a){
int sum=0;
while(a){
int b=0;
b=a%10;
switch(b){
case 0:{
sum++;
break;
}
case 1:break;
case 2:break;
case 3:break;
case 4:{
sum++;
break;
}
case 5:break;
case 6:{
sum++;
break;
}
case 7:break;
case 8:{
sum++;
sum++;
break;
}
case 9:{
sum++;
break;
}
}
a/=10;
}
return sum;
}
int main(){
x[0]=1;
for(int i=1;i<1000005;i++){
x[i]=x[i-1]+check(i);
}
int k;
cin>>k;
while(k--){
int m,n;
cin>>m>>n;
cout<<x[n]-x[m-1]<<endl;
}
return 0;
}