【Leetcode】Pow(x,n)

来源:互联网 发布:淘宝锋利小刀 编辑:程序博客网 时间:2024/05/01 21:30

定理

n^2k = (n^k)*(n^k),

n^(2k+1) = (n^k)*(n^k)*n,

n^-(2k+1)=(n^-k)*(n^-k)*(1/n).

所以代码如下

public double pow(double x, int n) {if (n == 0)return 1;double temp = x;temp = pow(x, n / 2);if (n % 2 == 0)return temp * temp;else {if (n > 0)return x * temp * temp;elsereturn (temp * temp) / x;}}


0 0