diff options
author | bd <bdunahu@operationnull.com> | 2024-05-18 19:26:37 -0600 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2024-05-18 20:36:00 -0600 |
commit | 0e0ab335087338d208eb3d1780e2de2c4ad0fc08 (patch) | |
tree | f1492a5c7e8e21b007773192cb62e66a4fb24883 /fibonacci/fibonacci.scm | |
parent | f6d333ef67fa2c9c199d4c401322fc31d90867da (diff) |
Add fibonacci code and tests
Diffstat (limited to 'fibonacci/fibonacci.scm')
-rw-r--r-- | fibonacci/fibonacci.scm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fibonacci/fibonacci.scm b/fibonacci/fibonacci.scm new file mode 100644 index 0000000..8563587 --- /dev/null +++ b/fibonacci/fibonacci.scm @@ -0,0 +1,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))))) |