zoj 3622 Magic Number

/*和网上其他方法一样打表一样,找规律打表*/ 
#include<stdio.h> int main(void) { long long int table[100]={1,2,5,10,20,25,50,100,125,200,250,500};/*用long long int 为了防止超过int范围之后它自动的不算了, 导致后面的就成了无效值,无法判断该值是否大于Int的范围*/ int i,n,m,count,temp,l; for(i=12;i<100;i++) { table[i]=table[i-5]*10; if(table[i]>=2147483647) /*如果这个值大于2^31次-1,数组后面就没用了*/ break; } l=i; while(scanf("%d%d",&n,&m)!=EOF) { count=0; for(i=0;i<l;i++) { if(table[i]>=n&table[i]<=m)/*如果在这个区间就计算总共的个数*/ count++; } printf("%d ",count); } return 0; }
原文地址:https://www.cnblogs.com/woshijishu3/p/3592639.html