车牌号
里面没有62和4
主要要点:
首先循环计算然后存储
以空间换时间,不然会超时
第二,n-m 用a[m]-a[n-1]而不是a[m]-a[n]
#include <iostream>
#include<iomanip>
#include <string>
#include<math.h>
using namespace std;
int a[1000006];
char t[10];
int main(){
int n,m;
a[0]=0;
for(int i=1;i<1000006;i++){
int flag=1;
memset(t,0,sizeof(t));
itoa(i,t,10);
for(int j=0;j<strlen(t);j++){
if(t[j]=='4'||(t[j]=='6'&&t[j+1]=='2')){
flag=0;
break;
}
}
if(flag){a[i]=a[i-1]+1;}
else{a[i]=a[i-1];}
}
while(cin>>n>>m){
if(n==0&&m==0){break;}
cout<<a[m]-a[n-1]<<endl;
}
return 0;
}