本文主要是介绍MATH-leetcode#50-次幂计算-使用二分法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
class Solution {
public:double myPow(double x, int n) {//写一个递归函数,每次n/2次方,再平方,return half(x,n);}double half(double x,int n){if(n==0) return 1.0;double half_n = half(x,abs(n)/2);half_n = n%2==0?half_n*half_n:half_n*half_n*x;if(n<0) return 1/half_n;else return half_n;}
};
相当于二分,每次计算n/2次幂,再平方,如果是奇数次幂,再乘以一个x,另外需要考虑负次幂,求一个倒数。
这篇关于MATH-leetcode#50-次幂计算-使用二分法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!