诶。。。。本来是拿来当数位dp练手的。。。。
可是。。。。。。
先上代码,然后再看数位吧。。。。刚开始的时候T了,要打表。
#include <stdio.h>
#include <string.h>
int sum;
int que[1000010];
void solve(int x)
{
char s[20];
int i,j,k;
j=0;
k=x;
while(k)
{
s[j++]=k%10+'0';
k/=10;
}
for(i=0;i<j;i++)
{
if(s[i]=='4') {que[x]=1;
// printf("%d\n",k);
return;}
if(s[i]=='2'&&s[i+1]=='6') {que[x]=1;
// printf("%d\n",k);
return;}
}
}
int main()
{
int n,m;
memset(que,0,sizeof(que));
int i,j,k;
for(i=1;i<=1000010;i++)
solve(i);
while(scanf("%d%d",&n,&m)!=EOF&&n+m)
{
int sum=0;
for(i=n;i<=m;i++) if(que[i]) sum++;
j=m-n+1;
printf("%d\n",j-sum);
}
return 0;
}