实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。

    示例 1:

    输入:x = 2.00000, n = 10
    输出:1024.00000
    示例 2:

    输入:x = 2.10000, n = 3
    输出:9.26100
    示例 3:

    输入:x = 2.00000, n = -2
    输出:0.25000
    解释:2-2 = 1/22 = 1/4 = 0.25

    思路:分治的思路

    1. <?php
    2. class Solution {
    3. /**
    4. * @param Float $x
    5. * @param Integer $n
    6. * @return Float
    7. */
    8. function myPow($x, $n) {
    9. if($x == 0) return 0;
    10. if($n < 0) { // n为负数
    11. $x = 1/$x;
    12. $n = -$n;
    13. }
    14. return $this->pow($x,$n);
    15. }
    16. function pow($x,$n){
    17. if($n == 0){
    18. return 1;
    19. }elseif($n == 1){ // 次方为1,则为本身的值
    20. return $x;
    21. }
    22. $subResult = $this->pow( $x , $n/2 );
    23. if($n % 2 == 1){
    24. return $subResult * $subResult * $x;
    25. }else{
    26. return $subResult * $subResult;
    27. }
    28. }
    29. }

    ```

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/powx-n
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。