(快速幂)-leetcode-50

57 阅读1分钟

Pow(x, n)

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

 

示例 :

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

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

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

class Solution {
        public double myPow(double x, int n) { 
            return n>0?getPow(x,n):(1.0/getPow(x,-n));
        }
        public double getPow(double x , int n){
            if(n==0){ 
                return 1;
             }
        double res = getPow(x,n/2); 
        return n%2==0?res*res:res*res*x;
        }
 }