题目描述
存在一个n位数M,它的立方数K的最后n位也是M,我们可以称这样的K为特殊立方数。
例如:15625 = 25 * 25 * 25,因此15625是一个特殊立方数。
请计算[a, b]之间有多少个特殊立方数,如果一个都没有则输出0。
输入
单组输入。
输入两个正整数a和b,1<=a<=b<=10^9。
输出
输出在[a,b]之间(包含a和b)有多少个特殊立方数,如果一个都没有则输出0。
样例输入 Copy
1 200
样例输出 Copy
3
提示
在1到200之间,存在1、64和125三个特殊立方数。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
int main()
{
int a,b;
while(~scanf("%d %d",&a,&b)){
int num=0;
for(int i=1;i<=1000;i++){
if(i*i*i<a)continue;
if(i*i*i>b)break;
int x=i,t=1;
while(x)x/=10,t*=10;
if(i*i*i%t==i)num++;
}
cout<<num<<endl;
}
return 0;
}