exercism-common-lisp/pizza-pi/pizza-pi.lisp
Adam Cooper 577860559e Initial commit
This "initial" commit occurs after five exercises have been completed
2025-01-23 19:43:42 -05:00

18 lines
570 B
Common Lisp

(defpackage :pizza-pi
(:use :cl)
(:export :dough-calculator :pizzas-per-cube
:size-from-sauce :fair-share-p))
(in-package :pizza-pi)
(defun dough-calculator (pizzas diameter)
(round (* pizzas (+ 200 (/ (* 45 3.14159 diameter) 20)))))
(defun size-from-sauce (sauce)
(sqrt (/ (* 40 sauce) (* 3 3.14159))))
(defun pizzas-per-cube (cube-size diameter)
(floor (* (expt cube-size 3) 2) (* 3 3.14159 (expt diameter 2))))
(defun fair-share-p (pizzas friends)
(multiple-value-bind (quotient remainder) (floor (* 8 pizzas) friends) (zerop remainder)))