1.9 KiB
1.9 KiB
id, challengeType, title, forumTopicId
| id | challengeType | title | forumTopicId |
|---|---|---|---|
| 5900f36e1000cf542c50fe81 | 5 | Problem 2: Even Fibonacci Numbers | 301838 |
Description
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
By considering the terms in the Fibonacci sequence that do not exceed the nth term, find the sum of the even-valued terms.
Instructions
Tests
tests:
- text: <code>fiboEvenSum(10)</code> should return 44.
testString: assert.strictEqual(fiboEvenSum(10), 44);
- text: <code>fiboEvenSum(18)</code> should return 3382.
testString: assert.strictEqual(fiboEvenSum(18), 3382);
- text: <code>fiboEvenSum(23)</code> should return 60696.
testString: assert.strictEqual(fiboEvenSum(23), 60696);
- text: <code>fiboEvenSum(43)</code> should return 350704366.
testString: assert.strictEqual(fiboEvenSum(43), 350704366);
- text: Your function should return an <code>even</code> value.
testString: assert.equal(fiboEvenSum(10) % 2 === 0, true);
Challenge Seed
function fiboEvenSum(n) {
// You can do it!
return true;
}
fiboEvenSum(10);
Solution
const fiboEvenSum = (number) => {
if (number <= 1) {
return 0;
} else {
let evenSum = 2, first = 1, second = 2, fibNum; // According to problem description our Fibonacci series starts with 1, 2
for (let i = 3; i <= number; i++) {
fibNum = first + second;
first = second;
second = fibNum;
if (fibNum % 2 == 0) {
evenSum += fibNum;
}
}
return evenSum;
}
}