@DarCKoder

Не получается решить задачу на javascript?

Решил решить задачи по проекту Эйлера по javascript (euler.jakumo.org/problems.html),
И застрял на втором вопросе:

Каждый следующий элемент ряда Фибоначчи получается при сложении двух предыдущих. Начиная с 1 и 2, первые 10 элементов будут:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

Найдите сумму всех четных элементов ряда Фибоначчи, которые не превышают четыре миллиона.

Вот что получилось у меня:
var myArray = [1,2];
		var Fibonachi;
		for(Fibonachi; Fibonachi <= 400000; ){
			Fibonachi = (myArray.length - 1) + (myArray.length - 2);
			myArray.push(Fibonachi);
			console.log(Fibonachi);
		}


Что написано не так, подскажите пожалуйста?!
  • Вопрос задан
  • 818 просмотров
Решения вопроса 1
@Aves
В цикл ни разу не заходит
var Fibonachi; // undefined
Fibonachi <= 400000; //false
Надо var Fibonachi = 0;

И в цикле складываются не члены массива, а их индексы, надо
Fibonachi = myArray[myArray.length - 1] + myArray[myArray.length - 2];

Кстати 4 миллиона удобно записывать 4e6, чтобы с количеством нулей не путаться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
sayber
@sayber
Да, я программирую на PHP и еще асинхронно!
Вот вам простой пример.
function Fibonacci(num)
 {
     var i, a = 0, b = 1, FibonacciArray = []; 
     for (i = 0; i < num; i++) {
       b = a + (a = b); // Сумма
       FibonacciArray.push(b); // Пушим в массив
     }
     console.log(FibonacciArray); // выводим в консоль
 }
 Fibonacci(100);
Ответ написан
@wittyrider
systemd есть людей
let sum = 0, index=1, fibonacci = 1; 
while (fibonacci < 4e6) { 
    fibonacci += index; 
    if(fibonacci % 2 === 0) { 
      sum += fibonacci
    }
}



console.log(sum)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы