为了账号安全,请及时绑定邮箱和手机立即绑定

次方的快速算法?

次方的快速算法?

一只斗牛犬 2018-10-30 13:13:40
次方的快速算法?
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

整数次方可以用快速幂算法
譬如计算x^y,可以先算出x^(y/2)
然后再自乘一次,如果y是奇数,那就再额外乘一次y
对于x^(y/2),我们仍用上述方法递归计算,可以得到logy复杂度的算法
以下是循环写法,效率比递归写法略高一些
int pow(int x,int y)
{
int ans=1;
while(y)
{
if(y)ans*=x;
x*=x;
y>>=1;
}
return ans;
}

查看完整回答
反对 回复 2018-11-08
  • 1 回答
  • 0 关注
  • 1052 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信