
Суммируйте все нечетные числа Фибоначчи
Учитывая положительное целое число num, вернуть сумму всех нечетных чисел Фибоначчи, которые меньше или равны num.
Первые два числа в последовательности Фибоначчи — это 1 и 1. Каждое дополнительное число в последовательности является суммой двух предыдущих чисел. Первые шесть чисел последовательности Фибоначчи — это 1, 1, 2, 3, 5 и 8.
Например, sumFibs(10) должно возвращать 10, поскольку все нечетные числа Фибоначчи, меньшие или равные 10, равны 1, 1, 3 и 5.
один из способов решить это
функция sumFibs(число){
пусть а = 1;
пусть б = 1;
пусть нечетная сумма = 1
в то время как (b ≤ число) {
if (b % 2 == 1){
сумма +=b;
}
пусть темп = б;
b = a+b;
а = температура;
}
вернуть нечетную сумму;
}
теперь решение без использования цикла while.
функция sumFibs(число){
постоянный результат = [0,1];
пусть нечетная сумма = 1;
для (пусть i = 2; ; i++) {
пусть newFibNum = результат[i-2]+ результат[i-1];
если (newFibNum › число) {
перерыв
}
результат.push(newFibNum);
if(newFibNum % 2 !== 0) {oddSum += newFibNum
}
}
вернуть нечетную сумму;
}
Этот второй метод был вдохновлен Генри (мой партнер по кодированию).
Спасибо за прочтение.