zoukankan      html  css  js  c++  java
  • Pow(x,n) leetcode java

    题目:

     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

  • 相关阅读:
    HDU 4628 Pieces
    HDU 2983 Integer Transmission
    HDU 1820 Little Bishops
    CodeForces 165E Compatible Numbers
    CodeForces 11D A Simple Task
    HDU 4804 Campus Design
    HDU 3182 Hamburger Magi
    Linux的用户和组
    Linux文件/目录权限及归属
    Vim使用介绍
  • 原文地址:https://www.cnblogs.com/springfor/p/3870929.html
Copyright © 2011-2022 走看看