关于手写立方根
  • 板块学术版
  • 楼主WanderingTrader
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/8/15 21:46
  • 上次更新2023/11/3 03:30:38
查看原帖
关于手写立方根
270791
WanderingTrader楼主2023/8/15 21:46

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函数,这是什么原因?

2023/8/15 21:46
加载中...