**题目描述:**实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。
leetcode 50
leetcode 剑指offer 16
剑指offer jz12
思路:快速幂
原文链接
代码如下:
class Solution {
public:
double myPow(double x, int n) {
double res=1;
long m=abs(n);//防止n是负数,转换成正数溢出
while(m){
if(m&1){
res*=x;
}
x*=x;
m>>=1;
}
return n>0?res:1/res;
}
};