[LeetCode]Pow(x, n)

来源:互联网 发布:苹果软件视频桌面 编辑:程序博客网 时间:2024/05/18 12:35

Implement pow(x, n).

这道题要求完成pow(),即求出x的n次方的结果。

二分法,注意n<0的情况。
1. 若n < 0,则返回 1.0 / pow(x , - n )的结果。
2. 若n >= 0,二分递归求解。例如,求2^5,可以先算2^2=4,2^2=4,然后4*4 = 16,最后16*2=32.

double power(double x, int n){        if (n == 0)            return 1;        double ans = power(x, n / 2);        if (n % 2)            return x*ans*ans;        else            return ans*ans;    }    double myPow(double x, int n) {        if (n < 0)            return 1.0 / power(x, -n);        else            return power(x, n);    }
0 0
原创粉丝点击