实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,x^n).
class Solution {
public double myPow(double x, int n) {
long l = n;
if(l < 0) {
x = 1 / x;
l = -l;
}
double res = 1;
for(long k = l; k != 0; k >>= 1){
if((k & 1) != 0) res *= x;
x = x * x;
}
return res;
}
}
快速幂:先算出图中第一行的31个数,n可以用二进制表示,将第一行的数带入进去,即可算出答案。优化:算的时候可以迭代的算x*x。