一切正常但我对此Fibonacci计算器有疑问(请参阅代码内注释)。我可以跳过console.debug步骤吗?为什么需要?
var getFibSum = document.getElementById("sumFib");
getFibSum.onclick = function(){
document.getElementById("sumFibResult").innerHTML = fiftyEvenFibonacciSum();
}
function fiftyEvenFibonacciSum(){
/// WRITE YOUR CODE HERE
var first,second,add;
for(var i=0;i<50;i++){
if(i === 0){
first = 1;
second = 2;
}
/** Why do I have to do the following to make it work?:*/
if(first+second > Number.MAX_VALUE){
console.debug(i, first, second);
return;
}
add = first + second;
first = second;
second = add;
}
return(add);
}
或者另一种方式是编写Fibonacci函数来计算前50个数字之和的最有效方法:
var getFibSum = document.getElementById("sumFib");
getFibSum.onclick = function(){
document.getElementById("sumFibResult").innerHTML = fiftyEvenFibonacciSum();
}
function fiftyEvenFibonacciSum(){
/// WRITE YOUR CODE HERE
var first,second,add;
for(var i=0;i<50;i++){
if(i === 0){
first = 1;
second = 2;
add = first + second;
first = second;
second = add;
}
return(add);
}
答案 0 :(得分:1)
Number.MAX_VALUE是您的系统可以解决的最大值,并且该部分代码实际上会停止脚本并输出最后一个数字,以防您超过该最大值。
由于你只进行了50次迭代,所以你甚至不太可能接近这个数字,所以你可以自由删除整个if子句,如果它困扰你的话。
答案 1 :(得分:0)
console.debug只打印一些调试信息,可以安全删除。