算法 快速幂运算+最大公约数
快速幂运算
当我们需要计算x^n时,这看起来似乎十分简单。只要将x一个接一个地相乘,经过n次之后就能得到答案了。这个算法看起来十分简单,但是该算法的复杂度为O(n)。
以计算2^19为例,如果我们不进行一步步地乘法,而是将其拆分成更小的次方相乘,那么问题就将得到简化。因此,快速幂运算算法的复杂度为O(logn)。
快速幂运算的C++代码实现如下:
//2^19=2^16*2^2*2^1
long pow_2(long a,long b){
long x=a; //以a为底,也可以换成以其他数
原创
2020-07-08 19:15:25 ·
301 阅读 ·
0 评论