1 #include<stdio.h>
 2 long long f[]=
 3 {
 4     1, 2, 5,
 5     10, 20, 25, 50,
 6     100, 125, 200, 250, 500,
 7     1000, 1250, 2000,2500, 5000,
 8     10000, 12500, 20000, 25000,50000,
 9     100000, 125000, 200000,250000, 500000,
10     1000000, 1250000, 2000000, 2500000, 5000000,
11     10000000, 12500000, 20000000, 25000000, 50000000,
12     100000000, 125000000, 200000000, 250000000, 500000000,
13     1000000000, 1250000000, 2000000000
14 };
15 int main()
16 {
17     long n,j,m,sum;
18     while(scanf("%ld %ld",&n,&m)!=EOF)
19     {
20         sum=0;
21         for(j=0; j<45; j++)
22         {
23             if(f[j]>=n&&f[j]<=m)
24             {
25                 sum++;
26                 continue;
27             }
28         }
29          printf("%ld\n",sum);
30     }
31 return 0;
32 }

真坑人啊!!!!

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
long long int a[100];
int main()
{
    long long int n,m,i,j,k,sum;
    a[0]=1;a[1]=2;a[2]=5,a[3]=25,a[4]=125;
    k=5;
    sum=1;
    for(i=1;i<=10;i++)
    {
        a[k++]=sum*10;sum*=10;
    }
    sum=10;
    for(i=1;i<=10;i++)
    {
        a[k++]=sum*2;sum*=10;
    }
    sum=5;
    for(i=1;i<=10;i++)
    {
        a[k++]=sum*10;sum*=10;
    }
    sum=10;
    for(i=1;i<=10;i++)
    {
        a[k++]=sum*25;sum*=10;
    }
    sum=10;
    for(i=1;i<=8;i++)
    {
        a[k++]=sum*125;sum*=10;
    }
    std::sort(a,a+k);
    while(scanf("%lld%lld",&n,&m)!=EOF)
    {
        int count=0;
        for(i=0;i<k;i++)
        {
            if(a[i]>=n&&a[i]<=m) count++;
        }
        printf("%d\n",count);

    }
    return 0;
}

这是用的循环。。。。

posted on 2013-03-23 16:11  Fann0221  阅读(180)  评论(0编辑  收藏  举报