搜索此博客

2012年10月19日星期五

Pow(x, n)

Implement pow(xn).
Tips:
1. Use divide and conquer.
2. Powers can be negative. Always remember this.
3. Try to reduce the times of multiplication as many as possible.

01 public double pow(double x, int n) {
02     if(n==0)
03         return 1;
04     if(n==1)
05         return x;
06   
07     boolean isNegative=false;
08     if(n<0)
09     {
10         n=-n;
11         isNegative=true;
12     }
13   
14     double result=pow(x,n/2);
15     result=result*result;
16     if(n%2==1)
17         result*=x;
18     if(isNegative)
19         result=1/result;
20     return result;
21 }

没有评论:

发表评论