src/2019/days/day-01.lisp @ 08dd2b57f2c0

2021/03
author Steve Losh <steve@stevelosh.com>
date Fri, 03 Dec 2021 12:36:07 -0500
parents 182bdd87fd9e
children (none)
(advent:defpackage* :advent/2019/01)
(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)))

;# Scratch --------------------------------------------------------------------

;; (run)
;; (1am:run)