#include<stdio.h>
struct AC
{
int x,y;
}a[1000004];
int main()
{
int i,j,k=0;a[125].x=1,a[521].y=1;
for(i=0; i<1000003; i++)
{
int c[3]={0};
if(i%10==5||i%100/10==5||i%1000/100==5||i%10000/1000==5||i%100000/10000==5||i%1000000/100000==5)
c[2]=1;
if(i%10==2||i%100/10==2||i%1000/100==2||i%10000/1000==2||i%100000/10000==2||i%1000000/100000==2)
c[1]=1;
if(i%10==1||i%100/10==1||i%1000/100==1||i%10000/1000==1||i%100000/10000==1||i%1000000/100000==1)
c[0]=1;
if(c[0]&&c[1]&&c[2]) a[i].x=a[i-1].x+1;
else a[i].x=a[i-1].x;
if(i%1000==521||i%10000/10==521||i%100000/100==521||i%1000000/1000==521) a[i].y=a[i-1].y+1;
else a[i].y=a[i-1].y;
}
while(~scanf("%d %d",&i,&j))
{
int m;
k++;
printf("Case %d:%d %d\n",k,a[j].x-a[i-1].x,a[j].y-a[i-1].y);
}
}
不是我的代码,但是可以参照,
版权声明:本文为博主原创文章,未经博主允许不得转载。