TypeScript脚本实现如下:
let myPow = function (x, n) {
let r = 1;
let len = Math.abs(n);
for (let i = len; i > 0; i--) {
if (i % 2 == 0) {
x = x * x;
i = i / 2;
}
r = r * x;
}
if (n < 0) {
r = 1 / r;
}
return r;
};
直接利用pow函数实现幂运算(C/C++)
double power(double x, int n)
{
if (n == 0)
return 1;
double result = 0;
double temp = pow(x, n/2);//递归的处理相乘的幂,重复利用已经的出来的值。
if (n%2 == 1)
result = x * temp * temp;//当幂为奇数的时候,多乘一个就变为偶数问题了。
else
result = temp * temp;//当幂为偶数的时候,
return result;
}