x的n次幂

来源:互联网 发布:evasi0n7 mac 编辑:程序博客网 时间:2024/04/26 19:29

分治法。

  • 简单,考虑到大于0,等于0,小于0的各种可能。

C++代码:

class Solution {public:    /**     * @param x the base number     * @param n the power number     * @return the result     */    double myPow(double x, int n) {        if (x==0) {            return 0;        }        if (n==1 ) {            return x;        }        if (n==0) {            return 1;        }        if (x== -1) {            return 1/x;        }        if (n>0) {            if (n%2 == 0) {                 return myPow(x,n/2) * myPow(x,n/2);                 } else {                 return myPow(x,n/2) * myPow(x,n/2+1);            }        } else {            if (n%2 == 0) {                return 1/(myPow(x,-n/2) * myPow(x,-n/2));            } else {                return 1/(myPow(x,-n/2) * myPow(x,-n/2+1));            }        }    }};
0 0
原创粉丝点击