Числа Фибоначчи
Привет!
Можно ли вывести ряд чисел фибоначчи при условии, что задано максимальное число ряда. Вот что у меня получилось, но я не знаю, как правильно выразить условие в цикле: function fibonacci(max) { var result = [0, 1]; for (var i = 1; result[i] < max; i++) { result.push(result[i] + result[i - 1]); } console.log(result); } fibonacci(100); Выводит следующий массив: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144] То есть цикл проверяет последнее число ряда и останавливается, когда оно больше max. Не понимаю, как сделать так, чтобы оно не вносило число больше max в массив. |
function fibonacci(max) { var result = [0, 1], val; for (var i = 1; result[i] < max; i++) { val = result[i] + result[i - 1] val <= max && result.push(val); } console.log(result); } fibonacci(100); |
спасибо!
поняла |
тогда получается, что вот эта запись не имеет смысла?
result[i] < max |
Maine,
Тогда условия выхода из цикла не будет. Можно так function fibonacci(max) { var result = [0, 1], val; for (var i = 1; ; i++) { val = result[i] + result[i - 1] if (val <= max) result.push(val); else break } console.log(result); } fibonacci(100); |
Часовой пояс GMT +3, время: 12:11. |