1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
Find the sum of all the even-valued terms in the sequence which do not exceed four million.
- Code: Select all
// pe002 ( n -- n) : Returns sum of even-valued terms of fib whose value do not exceed n
// "tuck +" calculate fib(n) and fib(n+1) if fib(n-1) and fib(n) are on the stack.
: pe002(n)
0 1 1 while ( dup n <= ) [
dup isEven ifTrue: [ rot over + tor ]
tuck +
]
2drop ;