Q:Implement pow(x, n).
题目很简单了,就是实现pow这个函数,需要注意的是n可能为负数,另外要稍微注意一下
效率问题。
代码:
class Solution {
public:
double pow(double x, int n) {
double result;
int flag = 0;
if(n == 2)return x*x;
if(n == 1)return x;
if(n == 0)return 1;
if(n < 0)flag = 1;
result = pow(x, abs(n/2));
result *= result;
if(n & 1) //odd
{
result *= x;
}
if(!flag)
return result;
return 1/result;
}
};