x的n次幂(快速幂)Day - 18

x的n次幂(快速幂。降低规模)

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,x*n )。

示例 1:

输入:x = 2.00000, n = 10 输出:1024.00000

示例 2:

输入:x = 2.10000, n = 3 输出:9.26100

示例 3:

输入:x = 2.00000, n = -2 输出:0.25000 解释:2-2 = 1/22 = 1/4 = 0.25

题解

class Solution {
          
   
    public double myPow(double x, int n) {
          
   

        double result = 1.0000;
        if(n >= 0){
          
   
            while(n != 0){
          
   
                if(n % 2 == 0){
          
   
                    x *= x;
                    n = n>>1;
                }
                result = x * result;
                n--;
            }
        }else{
          
   
            while(n != 0){
          
   
                 if(n % 2 == 0){
          
   
                    x *= x;
                    n = n>>1;
                }
                result = x * result;
                n++;
            }
            result = 1/result;
        }
       
        return result;
    }
}
经验分享 程序员 微信小程序 职场和发展