Math 时间复杂度为log(b)的a^b的非递归算法

Math 时间复杂度为log(b)的a^b的非递归算法,math,time-complexity,Math,Time Complexity,有一个项目,我应该实现powera的算法,b产生a^b,算法的复杂度应该是logb,b是函数中的第二个输入数,并且算法应该是非递归的。有人能帮忙吗?这个想法是用平方和乘法构造所需的乘法 让我们从一个具体的例子开始:7^13 13是二进制的1101 所以7*7^2^2*7^2^2^2=7^1+4+8=7^13 算法上: 设x=a,res=1 从小调到大调复习b的部分 如果当前位为1,则res=res*x x=x*x 时间复杂度与b的位数相同,即logb您自己解决过吗?如果是,请尝试发布您的解决方案

有一个项目,我应该实现powera的算法,b产生a^b,算法的复杂度应该是logb,b是函数中的第二个输入数,并且算法应该是非递归的。有人能帮忙吗?

这个想法是用平方和乘法构造所需的乘法

让我们从一个具体的例子开始:7^13

13是二进制的1101

所以7*7^2^2*7^2^2^2=7^1+4+8=7^13

算法上:

设x=a,res=1 从小调到大调复习b的部分 如果当前位为1,则res=res*x x=x*x
时间复杂度与b的位数相同,即logb

您自己解决过吗?如果是,请尝试发布您的解决方案,以便我们了解问题所在。如果没有,请先试一下,可能会比你想象的更容易。当然,我已经试过了,但我没有取得任何成果:可能会重复之前关于这个主题的其他讨论:,随时。您可以在此处阅读更多信息: