Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.43 KB | None | 0 0
  1.  
  2. (use-syntax (ice-9 syncase))
  3. (define memoized-factorial
  4.   (let ((memo '()))
  5.     (lambda (n)
  6.       (let ((memoized (assq n memo)))
  7.         (if (not (equal? memoized #f))
  8.             (cadr memoized)
  9.             (let ((new-value
  10.                    (if (< n 1)
  11.                        1
  12.                        (* n (memoized-factorial (- n 1))))))
  13.               (set! memo (cons (list n new-value) memo))
  14.               new-value))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement