АН
Анна Никитина

Что-то в голову не лезет каким образом лучше написать этот код, можно решение или подсказку?

Каждый следующий элемент ряда Фибоначчи получается при сложении двух предыдущих. Начиная с 1 и 2, первые 10 элементов будут:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ..
Найдите сумму всех четных элементов ряда Фибоначчи, которые не превышают четыре миллиона.

НС
Наталия Стольникова

Решение на Python:
l, s = [1, 2], 2
while l[-1] + l[-2] <= 4000000:
l.append(l[-1] + l[-2])
s += l[-1] * (l[-1] % 2 == 0)
#print(*l)
print(s)

ОХ
Ольга Хлебтовская

Подсказка не хитрая. Я даже совершенно не зная Паскаля по этому видео легко разобрался с выводом этих чисел Фибоначчи на JS
https:// ru. coursera.org/lecture/algoritmizacija-vychislenij/vychislieniie-zadannogho-kolichiestva-chisiel-fibonachchi-WlafD
(без пробелов, почему-то не пускают ссылку)
А с суммой всех четных элементов ряда вообще должен справиться даже пятикласник

Олег Андреев
Олег Андреев

let prev = 1, curr = 1;

let sum = 0;

while (curr <= 4000000) {
if (curr % 2 == 0) sum += curr;
[prev, curr] = [curr, prev + curr];
}

console.log(sum); // 4613732
________________________

[prev, curr] = [curr, prev + curr];

Называется деструктурирующее присваивание. Это то же самое, что

let tmp = curr; // временно сохранить текущее значение

curr = prev + curr; // суммировать предыдущее к текущему
prev = tmp; // а предыдущее станет равным старому curr.
________

Еще, запиши

let prev = 1, curr = 1;
while (curr <= 4000000) {
console.log( curr );
[prev, curr] = [curr, prev + curr];
}

Оно очень быстро растет, и можно заметить, что каждый третий элемент - четный. Может есть какая-нибудь красивая формула нахождения такой суммы одной строчкой)

Похожие вопросы
Подскажите на какую тему написать фанфик про звёзд? Уже много про что писала, по этому сейчас ничего в голову не лезет...
написать программный код на С# для решения задачи
помогите написать описание картины, ну вот ничего в голову не лезет
И как только в голове укладывается то, что не лезет ни в какие ворота?..)))
Помогите в голову ничего не лезет
Как написать докладную если ты заболел, не лезет в голову как ???
Написать код на JavaScript понятным и легким способом
Как лучше всего на js написать этот код?
Можно адекватную критику JS кода? Боковое выезжающее меню. Что можно улучшить? Как оптимизировать? Понятно ли написано?
Как сделать этот код в JavaScript? в голову не лезет