summaryrefslogtreecommitdiff
path: root/fibonacci/fibonacci.scm
blob: 85635873674389c778e7fb0b4cbbaf5191a992e7 (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 (- k 1)
                        n2
                        (+ n1 n2)
                        (append lst (list n1)))))