图片说明

又是一个签到题目,但是要注意一些坑点。
首先sqrt不一定会返回int型,其次要特殊考虑a=0的case,因为我们使用的是f(r)-f(l-1)当a=0,sqrt(l-1)会变成sqrt(-1),会出错。

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int a,b;
        cin>>a>>b;
        if(a==0){
            cout<<(int)sqrt(b)+1<<endl;
            continue;
        }
        cout<<(int)sqrt(b)-(int)sqrt(a-1)<<endl;
    }
}