HDOJ 2089 不要62

来源:互联网 发布:手机版导航源码 编辑:程序博客网 时间:2024/04/30 00:55

http://acm.hdu.edu.cn/showproblem.php?pid=2089

#include<stdio.h>

#include<string.h>
#include<math.h>
#include<ctype.h>
#define N 1000000
int a[N];
int main()
{
int n,m;
int i;
int sum;
void cmp(int i);

for(i=1;i<=N;i++)//先将1--N在不吉利数字标记出来,以后使用只需在特定区间遍历 
{
cmp(i);
}

while(scanf("%d%d",&n,&m),m+n)
{
sum=0;
for(i=n;i<=m;i++)
{
if(a[i])
sum++;
}
printf("%d\n",m-n+1-sum);
}
return 0;
}


void cmp(int i)
{
int t=i;
int lap=0;
while(t)
{
if(t%10==4||(t%100==62))//个位等于4或(个位求余等于2对十位等于6)
{
lap=1;
break;
    }
    else
    t/=10;
    }
    a[i]=lap;
}
0 0
原创粉丝点击