gpt4 book ai didi

javascript - 如何在javascript中找到11的幂或x是幂n?

转载 作者:行者123 更新时间:2023-12-01 15:41:55 26 4
gpt4 key购买 nike

我正在寻找 11 n 的力量.我知道在 JavaScript 中有一个函数 Math.pow这给了你数字的力量。我想自己实现这个功能。 我的功能运行良好 ,但其时间复杂度为 O(n) 我们可以使用任何其他方法降低时间复杂度吗?
我正在考虑使用 bit map ,但没有成功。

function power(x,n) {
let sum =1
for(let i =0;i<n;i++){
sum*=x
}

return sum
}

console.log(power(11,3))

最佳答案

您可以采用建议的方形方法。
复杂度是 O(log2(n)),就像这个带有函数计数的表一样。

   n     counts
------- ------
100 7
1000 10
10000 14
100000 17

function power(x, n) {
if (n === 1) return x;
let temp = power(x, n >> 1);
return n % 2
? x * temp * temp
: temp * temp;
}

console.log(power(11, 3)); // 1331 with 2 calls

关于javascript - 如何在javascript中找到11的幂或x是幂n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63464941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com