var fibonacciNumbers = [1, 1];
var numbersQuantity = 7;
var total = fibonacciNumbers.length + numbersQuantity;
for(var i = 2; i < total; i++) {
fibonacciNumbers.push(fibonacciNumbers[i-1]+fibonacciNumbers[i-2]);
}
var fibonacciNumbers = [1, 1];
var numbersQuantity = 7;
for (var i = 0; i < numbersQuantity; i++) {
fibonacciNumbers.push(fibonacciNumbers[i] + fibonacciNumbers[i+1]);
}
var fibonacciNumbers = [1, 1];
var numbersQuantity = 7;
for (var i = 1; i <= numbersQuantity; i++) {
fibonacciNumbers[i+1] = fibonacciNumbers[i] + fibonacciNumbers[i-1];
}
потому что когда вы добавляете первое число к массиву, его длина растет и соответственно величина fibonacciNumbers.length + numbersQuantity становится динамической в цикле и цикл никогда не закончится. собственно вам и выдает Timeout Error
цикл повесился
for (var i = 2; i < fibonacciNumbers.length + numbersQuantity; i++) {
console.log(fibonacciNumbers.length + numbersQuantity);
fibonacciNumbers.push(fibonacciNumbers[i-2] + fibonacciNumbers[i-1]);
}
записав же в переменную, вы как бы запомнили то состояние, что было до цикла и в дальнейшем это является постоянной величиной и цикл проходит.
предварительная запись переменной
var total = fibonacciNumbers.length + numbersQuantity;
for (var i = 2; i < total; i++) {
console.log(total);
fibonacciNumbers.push(fibonacciNumbers[i-2] + fibonacciNumbers[i-1]);
}
но вообще решение не идеальное, вот вам задание со звездочкой:
сделайте реализацию так, чтобы она не зависела от изначальной длины массива. потому если подставить массив длиной в 3 числа, то уже работать ваш алгоритм не будет.
Почитала в Викопедии что такое числа Фибоначи, пишут что это числа в которой первые два числа равны либо 1 и 1, либо 0 и 1, а почему при проверке изначальные числа могут не совпадать с 1?
потому что авторы просто приделали этой последовательности чисел такое название
суть не в точном соответствии известной математической модели, а в том, чтобы составить алгоритм, пополняющий массив из чисел суммой последних двух её элементов на каждой итерации цикла до определенной длины.
псс, я вам тут курс подогнал, прям чую что вам тяжко дается, тут немного повеселее рассказывают.