标签:pre 完全 一个 else color amp 结果 return lse
#include<math.h> #include<stdio.h> #include<algorithm> using namespace std; int a[40000],len; void init(){ len=sqrt(1000000000.0)+1; for(int i=1;i<=len;i++)//先打表 a[i]=i*i; } int binary_search(int key){ int left=0,right=len,mid,ans; while(left<=right){ mid=(left+right)/2; if(a[mid]<=key){ ans=mid; left=mid+1; } else right=mid-1; } return ans; } int main() { init(); int n,l,r; scanf("%d",&n); while(n--) { scanf("%d%d",&l,&r); int x=binary_search(l); printf("%d\n",x); int y=binary_search(r); printf("%d\n",y); int ans=y-x+1; int t=sqrt(l*1.0); if(t*t!=l) //因为l是不是平方数,对最后结果有影响 ans--; printf("%d\n",ans); } return 0; }
标签:pre 完全 一个 else color amp 结果 return lse
原文地址:https://www.cnblogs.com/lipu123/p/12150059.html