不要62 hd 2089

q923714892發表於2020-04-06
Description
杭州人稱那些傻乎乎粘嗒嗒的人為62(音:laoer)。
杭州交通管理局經常會擴充一些的士車牌照,新近出來一個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。
不吉利的數字為所有含有4或62的號碼。例如:
62315 73418 88914
都屬於不吉利號碼。但是,61152雖然含有6和2,但不是62連號,所以不屬於不吉利數字之列。
你的任務是,對於每次給出的一個牌照區間號,推斷出交管局今次又要實際上給多少輛新的士車上牌照了。

Input
輸入的都是整數對n、m(0<n≤m<1000000),如果遇到都是0的整數對,則輸入結束。

Output
對於每個整數對,輸出一個不含有不吉利數字的統計個數,該數值佔一行位置。

Sample Input
1 100
0 0

Sample Output

80

#include<stdio.h>
int axiba(long n)
{
    while(n)
    {
        if(n%10==4||n%100==62)
            return 0;
        n/=10;
    }
    return 1;
}
int a[1000001]={0};
int main()
{
    long n,m,i;
    for(i=1;i<1000001;i++)
        a[i]=a[i-1]+axiba(i);
    while(scanf("%ld%ld",&n,&m)!=EOF)
    {
        if(n==0&&m==0)
            break;
        printf("%d\n",a[m]-a[n-1]);
    }
    return 0;
}