Hàng Châu nhân xưng những cái đó ngây ngốc dính tháp tháp nhân vi 62 ( âm: laoer ).
Hàng Châu giao thông quản lý cục thường xuyên sẽ mở rộng một ít sĩ biển số xe chiếu, gần đây ra tới một cái tin tức tốt, về sau thượng giấy phép, không hề đựng không may mắn con số, cứ như vậy, liền có thể tiêu trừ cá biệt sĩ tài xế cùng hành khách tâm lý chướng ngại, càng an toàn mà phục vụ đại chúng.
Không may mắn con số vì sở hữu đựng 4 hoặc 62 dãy số. Tỷ như:
62315 73418 88914
Đều thuộc về không may mắn dãy số. Nhưng là, 61152 tuy rằng đựng 6 cùng 2, nhưng không phải 62 liền hào, cho nên không thuộc về không may mắn con số chi liệt.
Nhiệm vụ của ngươi là, đối với mỗi lần cấp ra một cái giấy phép khu gian hào, suy đoán ra giao quản cục lần này lại muốn trên thực tế cấp nhiều ít chiếc tân sĩ trên xe giấy phép.
Input
Đưa vào đều là số nguyên đối n, m ( 0<n≤m<1000000 ), nếu gặp được đều là 0 số nguyên đối, tắc đưa vào kết thúc.
Output
Đối với mỗi cái số nguyên đối, phát ra một cái không chứa có không may mắn con số thống kê cái số, nên trị số chiếm một hàng vị trí.
Sample Input
1 100
0 0
Sample Output
80
#include <stdio.h>
#include <queue>
#include <algorithm>
#include <memory.h>
#include <string.h>
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
int dp[11][11],a[11];
int dfs(int pos,int sta,bool limit)
{ //dp[pos][sta] pos là vị trí, sta là trước một số hay không vì 6
int i;
if(pos==-1) return 1;// ký ức hóa tìm tòi
if(!limit&&dp[pos][sta]!=-1) return dp[pos][sta];
int up=limit? a[pos]:9;// có hạn chế khi up=a[pos] không có hạn chế khi up=9
int res=0;
for(i=0; i<=up; i++)
{
if(i==4||(sta&&i==2)) continue;
res+=dfs(pos-1,i==6,limit&&i==a[pos]);//limit&&i==a[pos] nguyên nhân
} // lấy 231 vì lệ 21X vô hạn chế 13X vô hạn chế chỉ có 23X có hạn chế
if(!limit) dp[pos][sta]=res;
return res;
}
int solve(int x)
{
int len=0;
while(x)
{
a[len++]=x%10;
x/=10;
}
return dfs(len-1,false,true);
}
int main()
{
int n,m,z;
while(scanf( "%d%d",&n,&m)!=EOF)
{
memset(dp,-1,sizeof(dp));
if(n==0&&m==0) break;
z=solve(m)-solve(n-1);
printf( "%d\n",z);
}
return 0;
}