; motzkin numbers

(define (a001006 k) ; first k terms
  (let loop ((a 0) (b 1) (n 1) (k k) (ms (list)))
    (if (zero? k) (reverse ms)
      (let* ((ms (cons (/ b n) ms))
             (n (+ n 1))
             (c (/ (+ (* 3 (- n 1) n a)
                      (* (+ n n -1) n b))
                   (* (+ n 1) (- n 1)))))
        (loop b c n (- k 1) ms)))))

(display (a001006 20)) (newline)