您的位置:首页 > 其它

水题啊水题,可我偏偏没做出来!!!(SDUT 2013春季ACM集训_12级周赛3 A题 )

2013-03-23 16:11 441 查看
#include<stdio.h>
long long f[]=
{
1, 2, 5,
10, 20, 25, 50,
100, 125, 200, 250, 500,
1000, 1250, 2000,2500, 5000,
10000, 12500, 20000, 25000,50000,
100000, 125000, 200000,250000, 500000,
1000000, 1250000, 2000000, 2500000, 5000000,
10000000, 12500000, 20000000, 25000000, 50000000,
100000000, 125000000, 200000000, 250000000, 500000000,
1000000000, 1250000000, 2000000000
};
int main()
{
long n,j,m,sum;
while(scanf("%ld %ld",&n,&m)!=EOF)
{
sum=0;
for(j=0; j<45; j++)
{
if(f[j]>=n&&f[j]<=m)
{
sum++;
continue;
}
}
printf("%ld\n",sum);
}
return 0;
}


真坑人啊!!!!

#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;
}


这是用的循环。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: