问题:实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。
思路:
递归是比较好理解的
如果n == 0,返回1
如果n < 0
如果n为奇数
如果n为偶数
class Solution {
public double myPow(double x, int n) {
//递归的思想递归分治的思想是比较好理解的
if(n == 0){
return 1;
}else if(n < 0){
return 1 / (x * myPow(x, - n - 1));
}else if(n % 2 == 1){//奇数
return x * myPow(x, n - 1);
}else{//偶数
return myPow(x * x, n / 2);
}
}
}
这篇博客介绍了如何使用递归方法在不依赖库函数的情况下实现计算一个数的幂函数。代码中详细展示了当n等于0、n小于0、n为奇数和偶数时的不同处理方式,通过递归将复杂问题简化。
2757

被折叠的 条评论
为什么被折叠?



