时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format:%lld
题目描述
多次查询[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
题解:
签到题
l,r直接开方,注意l开方后向上取整。
r1-l1+1就是答案
代码:
#include<bits/stdc++.h>
using namespace std;
int a[100000005];
int pre[100000005];
int main()
{
int t;
cin>>t;
int l,r;
while(t--)
{
cin>>l>>r;
int l1=sqrt(l);
int r1=sqrt(r);
if(l1*l1!=l)l1++;
cout<<r1-l1+1<<endl;
}
return 0;
}
原文链接: https://www.cnblogs.com/Jozky/p/13928294.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/342623
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!