完全平方数
完全平方数
https://ac.nowcoder.com/acm/contest/5203/C
@[TOC]
传送
时间限制: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; }