class Solution {
public:
double pow(double x, int n) {
double res = 1;
if(x == 1)
return 1;
if(x == -1)
{
if(n % 2) return -1;
else return 1;
}
bool flag = false;
if(n < 0)
{
n = -n;
flag = true;
}
while(n) //快速幂
{
if(n & 1)
res *= x;
x *= x;
n >>= 1;
}
if(flag) res = 1 / res;
#if 1
std::cout << res << std::endl;
#endif // 1
return res;
}
};
leetcode - Pow(x, n)
最新推荐文章于 2024-05-16 14:35:36 发布