Skip to content

Instantly share code, notes, and snippets.

@thieux
Created January 10, 2017 21:26
Show Gist options
  • Save thieux/9c4060e287418268dd03eca4c998a742 to your computer and use it in GitHub Desktop.
Save thieux/9c4060e287418268dd03eca4c998a742 to your computer and use it in GitHub Desktop.
(defn naive-fibonacci [n]
(condp = n
0 1
1 1
(+ (naive-fibonacci (- n 1))
(naive-fibonacci (- n 2)))))
(defn fibonacci-draft
([n]
(fibonacci-draft n 0 1))
([n acc0 acc1]
(condp = n
0 (+ acc0 0)
1 (+ acc1 1)
(let [p1 (- n 1)
p2 (- n 2)]
(recur p1 (+ acc0 p1) (+ acc1 p2))))))
(defn fibonacci
([n]
(fibonacci n 0 1))
([n acc0 acc1]
(if (= n 0)
acc0
(recur (dec n) acc1 (+ acc0 acc1)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment