链接:https://vjudge.net/problem/UVA-11461
题意:如果一个数能写成一个整数的平方,则成它是一个完全平方数,给定a,b,问[a,b]之间有多少个完全平方数?
分析:转化为[1,a-1]和[1,b]
#include <bits/stdc++.h>
using namespace std;
#define mem(a,n) memset(a,n,sizeof(a))
#define pb(x) push_back(x)
typedef long long LL;
typedef unsigned long long ull;
const int mod=1e9+7;
const double eps=1e-6;
const int INF=0x3f3f3f3f;
const int N=500+5;
int squ[N];
void init()
{
for(int i=1;i<N;i++)
squ[i]=i*i;
}
int main()
{
init();
int a,b;
while(~scanf("%d%d",&a,&b))
{
if(!a&&!b) break;
int ans=lower_bound(squ,squ+N,b+1)-lower_bound(squ,squ+N,a);///注意是b+1
printf("%d\n",ans);
}
return 0;
}