题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
用求快速幂方法,循环替代递归减少运行时间。
考虑指数正负问题。
class Solution
{
public:
double Power(
double base,
int exponent)
{
long exp =
abs(exponent);
double res =
1.0;
while (exp)
{
if (exp &
1)
res *=
base;
base *=
base;
exp >>=
1;
}
return exponent >
0 ? res :
1 /
res;
}
};
转载于:https://www.cnblogs.com/ruoh3kou/p/10049426.html