Skip to content

Instantly share code, notes, and snippets.

@wmeister-old
Created May 1, 2010 03:38
Show Gist options
  • Save wmeister-old/386029 to your computer and use it in GitHub Desktop.
Save wmeister-old/386029 to your computer and use it in GitHub Desktop.
; 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, ...
; Find the sum of all the even-valued terms in the sequence which do not exceed four million.
(defun calc-next (a b) (+ a b))
(defun multiple-of (x y) (= 0 (rem x y)))
(let ((answer 2) (a 1) (b 2) n)
(loop while (< b 4000000) do
(setf n (calc-next a b))
(when (multiple-of n 2) (setf answer (+ answer n)))
(setf a b)
(setf b n))
(print answer))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment