快速幂算法

1.特点,优化算法,计算a的b次方的时候,需要大量的时间

2.算法如下:

  1.判断b是否为偶数,

    1.1是奇数,就临时变量 int at = at*a(at 初始化为1)

  2.是偶数,那么a= a*a;b = b/2;

如此反复,直到b=0 的时候结束

(b等于1的时候,b/2等于0.届时临时变量at 将是答案)

 

按位运算算法:

int pow3(int x, int n){
    if(n == 0) return 1;
    int t = 1;
    while(n != 0){
      if(n & 1) t *= x;
      n >>= 1;
      x *= x;
    }
    return t;
}

 

posted @ 2022-04-06 15:38  星辉与你  阅读(62)  评论(0)    收藏  举报