【发布时间】:2016-06-21 17:09:43
【问题描述】:
我正在尝试从零开始学习算法和编码。我写了一个函数,它只会找到平方数的平方根,但我需要知道如何提高它的性能并可能返回非平方数的平方根
function squareroot(number) {
var number;
for (var i = number; i >= 1; i--) {
if (i * i === number) {
number = i;
break;
}
}
return number;
}
alert(squareroot(64))
将返回 8
最重要的是,我需要知道如何提高这种性能。我还不太关心它的有限功能
【问题讨论】:
-
squareroot(65)会发生什么?提示:没什么好说的。 -
`我需要知道如何提高它的性能`是什么让你认为它没有“好”的性能?你的基准是什么?人们谈论性能的一般术语,但仅此而已。你想改进什么?
-
var squareroot = Math.sqrt;我帮你搞定了 -
看来我正在遍历每一个可能的数字,这可能是不必要的
-
有pretty many quite sophisticated algorithms to do this。不过,作为学习者,您不会从其中的大部分内容中受益。
标签: javascript algorithm square-root