(defun remove-char (lst string) (cond ((not lst) string) ('t (remove-char (cdr lst) (remove (car lst) string))))) (defmacro english-reduced (n) `(length (remove-char (list #\- #\space) (format nil "~r" ,n)))) (defmacro english-and (n) `(cond ((= (mod n 100) 0) (english-reduced ,n)) ((> ,n 100) (+ 3 (english-reduced ,n))) ('t (english-reduced ,n)))) (defun e17 () (labels ((e17-iter (n acc) (cond ((<= n 0) acc) ('t (e17-iter (- n 1) (+ acc (english-and n))) )))) (e17-iter 1000 0)))
CL-USER> (e17) 21124
— Me@2023-10-26 06:36:38 PM
.
.
2023.10.26 Thursday (c) All rights reserved by ACHK

You must be logged in to post a comment.