; Each new term in the Fibonacci sequence is generated by adding the previous
; two terms. By starting with 1 and 2, the first 10 terms will be:
; 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
; By considering the terms in the Fibonacci sequence whose values do not exceed
; four million, find the sum of the even-valued terms.
(defn next-fib-num [seq]
(reduce + (take-last 2 seq)))
(defn fib-seq-to [max]
(loop [seq [1 2]]
(if (>= (last seq) max)
(butlast seq)
(recur
(conj seq
(next
-fib
-num seq
)))))) (println (reduce + (filter even? (fib-seq-to 4000000))))
OyBFYWNoIG5ldyB0ZXJtIGluIHRoZSBGaWJvbmFjY2kgc2VxdWVuY2UgaXMgZ2VuZXJhdGVkIGJ5IGFkZGluZyB0aGUgcHJldmlvdXMKOyB0d28gdGVybXMuIEJ5IHN0YXJ0aW5nIHdpdGggMSBhbmQgMiwgdGhlIGZpcnN0IDEwIHRlcm1zIHdpbGwgYmU6CjsgMSwgMiwgMywgNSwgOCwgMTMsIDIxLCAzNCwgNTUsIDg5LCAuLi4KOyBCeSBjb25zaWRlcmluZyB0aGUgdGVybXMgaW4gdGhlIEZpYm9uYWNjaSBzZXF1ZW5jZSB3aG9zZSB2YWx1ZXMgZG8gbm90IGV4Y2VlZAo7IGZvdXIgbWlsbGlvbiwgZmluZCB0aGUgc3VtIG9mIHRoZSBldmVuLXZhbHVlZCB0ZXJtcy4KKGRlZm4gbmV4dC1maWItbnVtIFtzZXFdCiAgKHJlZHVjZSArICh0YWtlLWxhc3QgMiBzZXEpKSkKKGRlZm4gZmliLXNlcS10byBbbWF4XQogIChsb29wIFtzZXEgWzEgMl1dCiAgICAoaWYgKD49IChsYXN0IHNlcSkgbWF4KQogICAgICAoYnV0bGFzdCBzZXEpCiAgICAgIChyZWN1ciAoY29uaiBzZXEgKG5leHQtZmliLW51bSBzZXEpKSkpKSkKKHByaW50bG4gKHJlZHVjZSArIChmaWx0ZXIgZXZlbj8gKGZpYi1zZXEtdG8gNDAwMDAwMCkpKSk=