第九十二章 牛顿快速幂(第1页)
顾名思义,快幂就是快算底数的n次幂。
比如计算3的1o此方,可以看到一下方法。
普通计算就是:3^1o=3*3*3*3*3*3*3*3*3*3
可以变换为:3^1o=(3*3)*(3*3)*(3*3)*(3*3)*(3*3)
也就是先对3自己进行平方,再求五次,就是3^1o=(3*3)^5,这就相当于求了5次乘法。
最后可以变成先算3的平方,然后算其中五次,相当于只算了3次乘法。
根据这个过程,可以得到其时间复杂度为o(1og?n),与朴素的o(n)相比效率有了极大的提高。
其中用的是二分法。