完全平方数的个数

链接:https://ac.nowcoder.com/acm/contest/37/A
来源:牛客网

多次查询[l,r]范围内的完全平方数个数

定义整数x为完全平方数当且仅当可以找到整数y使得y*y=x

输入描述:

第一行一个数n表示查询次数
之后n行每行两个数l,r

输出描述:

对于每个查询,输出一个数表示答案
示例1

输入

复制
5
1 3
1 4
2 4
4 4
1 1000000000

输出

复制
1
2
1
1
31622

备注:

n <= 100000
0<= l <= r <= 1000000000


小于n的有sqrt(n)个平方数
#include <bits/stdc++.h>
#define int long long
using namespace std;

signed main(){
    int n;
    scanf("%lld",&n);
    for(int i=1;i<=n;i++){
        int l,r;
        scanf("%lld%lld",&l,&r);
        int num1=sqrt(l-1);
        int num2=sqrt(r);
        if(l==0)num1=-1;
        printf("%lld\n",num2-num1);
    }
    return 0;
}

 


posted @ 2021-03-17 22:43  lipu123  阅读(233)  评论(0编辑  收藏  举报