题目大意:求[m,n]区间满足一个数前面加任何数都能被该数整除的数有多少个?
解题思路:找不到解法,可以先打印出来一部分数据出来看一下,这样就可以找到规律。开始很不确定对不对,直接写了就A了!感觉很不一样的!之前找规律一直很弱,所以还是要多尝试下。详见code。
题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3622
code:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int m,n,ans,tmp;
int num[9]={1,2,5,25,125};
int main(){
while(~scanf("%d%d",&m,&n)){
ans=0;
for(int i=0;i<5;i++)
for(int j=0;j<=10;j++){
tmp=num[i]*pow(10,j);
if(tmp>=m && tmp<=n) ans++;
}
printf("%d\n",ans);
}
return 0;
}