Числа Фибоначчи

for(i = 0; i < (numbersQuantity); i++) {
fibonacciNumbers.push(fibonacciNumbers[i] + fibonacciNumbers[i + 1]);
console.log(fibonacciNumbers)
}

for (var i=fibonacciNumbers.length; i<=numbersQuantity+1; i++){ fibonacciNumbers.push(fibonacciNumbers[i]=fibonacciNumbers[i-1]+fibonacciNumbers[i-2])

;}

fibonacciNumbers.pop(fibonacciNumbers.length-1);

Никаких извращений с +1 и = к numbersQuantity не нужно! push добавляет В КОНЕЦ массива, плюсом к тем двум цифрам что есть))

for(let i = 0; i<numbersQuantity; i++){
fibonacciNumbers.push(fibonacciNumbers[i]+fibonacciNumbers[i+1])
}

let fibonacciNumbers = [1, 1];
let numbersQuantity = 5;
let long = fibonacciNumbers.length

for(let i = fibonacciNumbers.length; i < long + numbersQuantity; i++) {
fibonacciNumbers.push(fibonacciNumbers[i - 2] + fibonacciNumbers[i - 1]);
}
console.log(fibonacciNumbers);

не понял как сделал, но оно работает

let fibonacciNumbers = [1, 1];
let numbersQuantity = 7;

for (let i = fibonacciNumbers.length; i < numbersQuantity + 2; i++){
fibonacciNumbers.push(fibonacciNumbers[i]);
fibonacciNumbers[i] = fibonacciNumbers[i - 1] + fibonacciNumbers[i - 2]

}

рабочий код, проходит проверку

let fibonacciNumbers = [1, 1];
let numbersQuantity = 7;

for (let i = 2; i <= numbersQuantity + 1; i++){
fibonacciNumbers.push(fibonacciNumbers[i-2]+fibonacciNumbers[i-1]);
console.log(fibonacciNumbers[i])
}

let fibonacciNumbers = [1, 1];
let numbersQuantity = 7;
for (let i=0;i<=numbersQuantity-1;i++) {
let firstnumbers=fibonacciNumbers[0+i];
let secondNumbers=fibonacciNumbers[1+i];
fibonacciNumbers.push(firstnumbers+secondNumbers);
}

for(i = 0 ; i < numbersQuantity ; i++){
let j = fibonacciNumbers.length -1
let k = fibonacciNumbers.length -2
let w = (fibonacciNumbers[j] + fibonacciNumbers[k])
fibonacciNumbers[fibonacciNumbers.length++] = w
}

такая логика норм ?)

Впишите сюда текст цитаты

Вот такой у меня вышел вариант, что бы не создавать лишних переменных в которых вы сохраняете изначальную длину массива


for (let i = fibonacciNumbers.length ; numbersQuantity > 0; numbersQuantity--){
  fibonacciNumbers.push(fibonacciNumbers[i-2] + fibonacciNumbers[i-1]);
  i++
  }

for(var i = 0; i < numbersQuantity; i++){
fibonacciNumbers.push(fibonacciNumbers[i] + fibonacciNumbers[i+1]);
}

while(numbersQuantity !== 0) {
  let lastIndex= fibonacciNumbers.length - 1; // Последнее число
  let penultimateIndex = fibonacciNumbers.length - 2; // Предпоследнее число
  let result = fibonacciNumbers[lastIndex] + fibonacciNumbers[penultimateIndex]; // сумма чисел

  fibonacciNumbers.push(result); // добавляет результат суммы в конец массива

  numbersQuantity--; 
}
1 лайк

for (var i = 0; i < numbersQuantity; i++) {
var numsForSum = fibonacciNumbers.slice(-2);
var sum = numsForSum[0] + numsForSum[1];
fibonacciNumbers.push(sum);
};