Числа Фибоначчи
Привет!
Можно ли вывести ряд чисел фибоначчи при условии, что задано максимальное число ряда. Вот что у меня получилось, но я не знаю, как правильно выразить условие в цикле:
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, время: 06:57. |