src/problems/fibd.lisp @ 11df545d1a41
Remove comments, do CONS
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Sat, 03 Nov 2018 14:41:39 -0400 |
| parents | d6e73cb32b9b |
| children | 2735aa6aab79 |
(in-package :rosalind) (define-problem fibd (data stream) "6 3" "4" (iter (with months = (read data)) (with lifespan = (read data)) (for month :from 2 :to months) (labels ((ref (array index) (if (plusp index) (aref array index) 0)) (breeding (month) (- (ref population (- month 1)) (deaths month))) (births (month) (breeding (- month 1))) (deaths (month) (ref births (- month lifespan))) (population (month) (+ (breeding month) (births month)))) ;; We initialize the buffers with NIL in index 0 for the 1-based months, ;; and 1 in index 0 for the initial pair of rabbits. (buffering (returning-final (population month)) :into population :initial-contents '(nil 1)) (buffering (births month) :into births :initial-contents '(nil 1))))) (problem-fibd "45 6") ;; (solve fibd)