杭电2089
1 //打表。。水过。。。 2 #include<stdio.h> 3 char s[10]; 4 int g[1000000]; 5 int main() 6 { 7 int lenth(char s[]); 8 int n,m,i,j,t,len; 9 for(i=1; i<1000000; ++i) 10 { 11 sprintf(s,"%d",i); 12 len=lenth(s); 13 for(j=0; j<len; ++j) 14 if(s[j]=='4'||(j>0&&s[j-1]=='6'&&s[j]=='2')) 15 break; 16 if(j==len) 17 g[i]=1; 18 } 19 while(~scanf("%d%d",&n,&m)&&(n||m)) 20 { 21 for(i=n,t=0; i<=m; ++i) 22 if(g[i]) 23 ++t; 24 printf("%d\n",t); 25 } 26 } 27 28 int lenth(char s[]) 29 { 30 int i=0; 31 while(s[i]!='\0') 32 ++i; 33 return i; 34 }