码迷,mamicode.com
首页 > 编程语言 > 详细

Pow(x,n) leetcode java

时间:2014-07-27 10:59:32      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

题目:

 Implement pow(x, n).

 

题解:

pow(x,n)就是求x的n次方。x的N次方可以看做:x^n = x^(n/2)*x^(n/2)*x^(n%2)。所以利用递归求解,当n==1的时候,x^n=x。

当然n是可以小于0的,2^(-3) = 1/(2^3)。按照上面那个规律就可以解决了。

 

代码如下:

 

 1     public double power(double x, int n) {
 2         if (n == 0)
 3             return 1;
 4  
 5         double v = power(x, n / 2);
 6  
 7         if (n % 2 == 0) {
 8             return v * v;
 9         } else {
10             return v * v * x;
11         }
12     }
13  
14     public double pow(double x, int n) {
15         if (n < 0) {
16             return 1 / power(x, -n);
17         } else {
18             return power(x, n);
19         }
20     }

 Reference: http://fisherlei.blogspot.com/2012/12/leetcode-powx-n.html

Pow(x,n) leetcode java

标签:

原文地址:http://www.cnblogs.com/springfor/p/3870929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!