目录
题目描述
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,)。
实现示例
解题思路
- 采用递归方法,递归的出口是:n即幂为0时,返回1;
- 若n为负数,则计算 1 / myPow(x,-n);
- 若n为正数,则分为奇数和偶数两种情况;
- 若n为奇数,将其转化成偶数,则计算 x*myPow(x,n-1);
- 若n为偶数,则计算myPow(x*x,n/2)。
当n<0时,
当n=0时,
当n>0时,若为偶数,则
若为奇数,则
实现代码
/**
* @param {number} x
* @param {number} n
* @return {number}
*/
//pow(x,n)快速幂
var myPow = function(x, n) {
if(n===0){return 1;}
if(n<0){
return 1 / myPow(x,-n);
}
if(n&1){
return x*myPow(x,n-1);
}else{
return myPow(x*x,n/2);
}
};