rt,请问这两份代码的效率有何区别?为什么实测后者的效率比前者高很多?
LL l=1,r=1e5; //数据范围是x<=1e15 while(l<r) { LL mid=(l+r+1)/2; if(x>=mid*mid*mid) l=mid; else r=mid-1; } // l即为x的立方根
LL l=1,r=1e5,p=0; while(l<=r) { LL mid=(l+r)/2; if(x>=mid*mid*mid) l=mid+1,p=mid; else r=mid-1; } //p即为x的立方根
另外这两份代码的效率都高于cbrt函数,这是什么原因?