解题思路

多次查询 范围内的完全平方数个数。
定义整数 为完全平方数当且仅当可以找到整数 使得

范围内的完全平方数为 ,共有 个数;
如果 ,则所求范围内还包括完全平方数 ,共有 个数。

C++代码

#include<iostream>
#include<cmath>
using namespace std;

int main(){
    int n;
    cin >> n;
    int l, r;
    for(int i=0; i<n; ++i){
        cin >> l >> r;
        int a = sqrt(l);
        int b = sqrt(r);
        int cnt = b - a;
        if(a * a == l)
            ++cnt;
        cout << cnt << endl;
    }
    return 0;
}