题目链接
题意
多次询问求l到r有多少个完全平方数
思路
- 分别使用二分求1到l-1、1到r有多少个数符合条件,两者相减为答案
参考代码
#include<bits/stdc++.h>
using namespace std;
int js(int r)
{
int l=1;
int tmp=r;
while(l<=r)
{
long long mid=(l+r)/2;
if(mid*mid<=tmp)
{
l=mid+1;
}
else
{
r=mid-1;
}
}
return r;
}
int main()
{
int n;
cin>>n;
while(n--)
{
long long l,r,tmp,l1,r1;
cin>>l>>r;
cout<<js(r)-js(l-1)<<endl;
}
}