题目描述
用的快速幂
先特判一下指数是否为0
小学知识 指数为0 值为1 底数非0的情况哟~
判断指数是否是负数
10^-2=1/10^2 很好理解
然后就是快速幂的模板了(๑′ᴗ‵๑)I Lᵒᵛᵉᵧₒᵤ❤
C++ 代码
class Solution {
public:
double Power(double base, int exponent) {
if(exponent==0) return 1;
int flag=1;
if(exponent<0) flag=-1,exponent=-exponent;
double ans=1;
while(exponent>0){
if(exponent&1) ans*=base;
base*=base;
exponent>>=1;
}
if(flag==-1) return 1/ans;
else return ans;
}
};