50. Pow(x, n)
题目:实现 pow(x, n) ,即计算 x 的 n 次幂函数。
示例 1:
输入: 2.00000, 10
输出: 1024.00000
class Solution {
public:
//快速幂,利用分治
double quickmul(double x, long long N)
{
if(N == 0) return 1.0;
//x的8次方 = x→x平方→x四次方→x八次方
//奇数次再乘一个x
double y = quickmul(x ,N/2);
return N%2 == 0 ? y*y : y*y*x;
}
double myPow(double x, int n)
{
long long N = n;
return N >= 0 ? quickmul(x, N) : 1.0 / quickmul(x, -N);
}
};