原理
x8
x8=x4∗x4
x4=x2∗x2
x2=x∗x
只需要三次乘法
x11
x11=x∗x5∗x5
x5=x∗x2∗x2
x2=x∗x
五次乘法
int Plog(int x,int n)
{
int y,y0;
if(n==1)
y=x;
else{
y0=Plog(x,n/2);
y=y0*y0;
if(n%2!=0)
y=y*x;
}
return y;
}
本文介绍了一种高效的指数运算方法——快速幂。通过将指数分解为若干较小指数的平方和乘积,快速幂能够显著减少计算次数。以x的8次方为例,仅需三次乘法即可得出结果;而计算x的11次方则需要五次乘法。文章还提供了一个递归实现的示例函数Plog,用于展示如何进行快速幂计算。
2785

被折叠的 条评论
为什么被折叠?



