简单问题,直接将不吉利的车牌找出再用数组存起来。
要注意 64 64输出1;
63 64 输出也是1;
由于仅仅有1000000个数,因此能够直接打表
#include<stdio.h> #include<string.h> int s[1000001]; int main() { int i,j,a,b,e,f,c; s[0]=0; for(i=1;i<1000001;i++) { b=i; for(j=1;j<7;j++) { a=b%10; c=b%100; b=b/10; if(a==4||c==62) {s[i]=s[i-1]+1; break; } else s[i]=s[i-1]; } } while(scanf("%d%d",&e,&f)) { if(e==0&&f==0) break; if(e==f) { if(s[e]-s[e-1]!=0) printf("1 "); else printf("0 "); } else printf("%d ",f-s[f]+s[e-1]+1-e); } return 0; }