原题:
mplement pow(x, n).
解决方法:
用递归的方法来解这道题,每次将幂除以2,如果当前幂是偶数,则结果刚好是递归结果的平方。如果当前幂是奇数,则需要根据幂的正负数来决定是乘以还是除以一个x。
代码:
mplement pow(x, n).
Example 1:
Input: 2.00000, 10 Output: 1024.00000
Example 2:
Input: 2.10000, 3 Output: 9.26100
解决方法:
用递归的方法来解这道题,每次将幂除以2,如果当前幂是偶数,则结果刚好是递归结果的平方。如果当前幂是奇数,则需要根据幂的正负数来决定是乘以还是除以一个x。
代码:
double myPow(double x, int n) {
if (n == 0)
return 1;
double temp = x;
temp = myPow(x, n/2);
if (n % 2 == 0)
return temp * temp;
return n > 0 ? temp * temp * x : temp * temp/x;
}