Найти в Дзене
Intern Fronted на JS

Решение задачки про числа фибоначи.

Привет! Как обещал - вот решение задачки, заданной в этом посте. Решение: var fibonacciNumbers = [1, 1];
var numbersQuantity = 7; var lastIndex = fibonacciNumbers.length - 1 + numbersQuantity;
for (i = fibonacciNumbers.length - 1; i < lastIndex; i++) {
var sumFib = fibonacciNumbers[i] + fibonacciNumbers[i - 1];
fibonacciNumbers.push(sumFib);
}
console.log(fibonacciNumbers); Итак, что к чему: Жирным выделено то, что нам дано, помимо условия в предыдущем посте (смотри ссылку выше). Решается задачка довольно быстро, но так как я гуманитарий и только учусь, я затратил час. Прежде всего я создал переменную lastIndex, которая равна последнему индексу массива после добавления необходимого количества элементов: var lastIndex = fibonacciNumbers.length - 1 + numbersQuantity; Далее я построил цикл, в котором "i" равняется последнему индексу существующего массива, условие срабатывания - нынешний последний индекс меньше запланированного последнего индекса массива, который должен получится в к

Привет! Как обещал - вот решение задачки, заданной в этом посте.

Решение:

var fibonacciNumbers = [1, 1];
var numbersQuantity = 7;
var lastIndex = fibonacciNumbers.length - 1 + numbersQuantity;
for (i = fibonacciNumbers.length - 1; i < lastIndex; i++) {
var sumFib = fibonacciNumbers[i] + fibonacciNumbers[i - 1];
fibonacciNumbers.push(sumFib);
}
console.log(fibonacciNumbers);

Итак, что к чему:

Жирным выделено то, что нам дано, помимо условия в предыдущем посте (смотри ссылку выше).

Решается задачка довольно быстро, но так как я гуманитарий и только учусь, я затратил час.

Прежде всего я создал переменную lastIndex, которая равна последнему индексу массива после добавления необходимого количества элементов:

var lastIndex = fibonacciNumbers.length - 1 + numbersQuantity;

Далее я построил цикл, в котором "i" равняется последнему индексу существующего массива, условие срабатывания - нынешний последний индекс меньше запланированного последнего индекса массива, который должен получится в конце. При выполнении цикла, индекс "i" увеличивается на единицу.

for (i = fibonacciNumbers.length - 1; i < lastIndex; i++) {
var sumFib = fibonacciNumbers[i] + fibonacciNumbers[i - 1]; fibonacciNumbers.push(sumFib);
}

При срабатывании цикла происходят следующие действия:

  1. В переменную sumFib записывается сумма последних двух элементов;
  2. В массив в самый конец записывается суммированный результат (в следствии чего увеличивается длина массива)
  3. И цикл начинается заново до тех пор, пока не запишется нужное количество новых чисел.

И самое последнее действие уже после цикла:

console.log(fibonacciNumbers);

Просто выводим в консоль весь полученный массив.

Все, задача решена) Если есть, что поправить || дополнить - пиши в комментарии. Поставишь лайк - скажу спасибо.) Кстати - поставил лайк - напиши в коммент кто ты и я в конце следующего поста напишу тебе спасибо с указанием тебя.)