src/2019/days/day-01.lisp @ 0a241f64eebb

2016/01
author Steve Losh <steve@stevelosh.com>
date Fri, 06 Dec 2019 20:57:40 -0500
parents cd781337a694
children 182bdd87fd9e
(defpackage :advent/2019/01 #.cl-user::*advent-use*)
(in-package :advent/2019/01)


(defun fuel-required (module-mass)
  (max 0 (- (floor module-mass 3) 2)))

(defun complete-fuel-required (module-mass)
  (iterate
    (for fuel :first (fuel-required module-mass) :then (fuel-required fuel))
    (summing fuel)
    (until (zerop fuel))))

(define-problem (2019 1) (data read-all) (3464458 5193796)
  (values (summation data :key #'fuel-required)
          (summation data :key #'complete-fuel-required)))