Итак, я пытаюсь разработать формулу, которая суммирует все нечетные числа Фибоначчи с точностью до заданного числа.Номера Фибоначчи - добавьте только нечетные числа - Javascript
Например:
- заданное число равно 4. Затем результат должен быть 5 (нечетными номерами Фибоначчи являются 1, 1, 3).
В настоящее время это мой код:
function sumFibs(num) {
var sum = 0;
for(i=0,j=1,k=0; k<=num;i=j,j=x,k++) {
x = i + j;
if (x%2 !== 0) {
sum +=x;
if (sum >= sum) {
break;
}
}
}
return sum;
}
sumFibs(4);
Очевидно, что код не работает. Если я удаляю оператор break (if sum> = sum), он создает бесконечный цикл. Я взял цикл for из другого сообщения здесь, где была дана формула для создания последовательности Фибоначчи, но у меня возникают трудности с тем, что делать после создания этого числа, как его добавить. Мой способ попытаться это проверить, если модуль не равен 0 (что указывает, что это нечетное число).
Благодарим за помощь.
'если (сумма> = sum) {'будет * всегда * оценивать true, что пыталась сделать эта линия? – Jamiec
oh wait, если бы это было 'sum> = num' - now * that * было бы больше смысла – Jamiec
Удаление этого' if' вместе с 'break' [не создает] (http://jsfiddle.net/JamesThorpe/0tjh71wp /) бесконечный цикл –