Pow(x, n)
Implement pow(x, n).
思路:这道题看似简单,其实杀机无穷啊,所以啊在面试的时候,面试官考你一道很简单的问题,要想清楚。这道题我一直RE,就是对n<0这一块处理的不好。主要是计算x^n=x^(n/2)*x^(n/2)*x^(n%2);
class Solution { public: double pow_position(double x,int n) { double half=pow(x,n/2); if(n%2==0) return half*half; else return half*half*x; } double pow(double x, int n) { if(n==0) return 1.0; else if(n>0) return pow_position(x,n); else return 1/pow_position(x,-n); } };