summaryrefslogtreecommitdiff
path: root/fibonacci/fibonacci.scm
blob: 1858624fb63906de7bdec26c4af1de0b1df304dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(define-module (fibonacci))


(define-public (fibonacci k)
  "Returns a fibonacci sequence of k length
as a list"
  (fibonacci-helper k 0 1 '()))

(define (fibonacci-helper k n1 n2 lst)
  "Recursively generates and appends numbers in the
fibonacci sequence."
  (if (zero? k)
      lst
      (fibonacci-helper (1- k)
                        n2
                        (+ n1 n2)
                        (append lst (list n1)))))