From 2d27a4fbe3d9c8386c5477ac67a129ecba2c3ec7 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Mon, 7 Nov 2022 00:04:44 +0200 Subject: lisp: require a number --- gcd.lisp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'gcd.lisp') diff --git a/gcd.lisp b/gcd.lisp index da24b5e..89ee997 100644 --- a/gcd.lisp +++ b/gcd.lisp @@ -9,9 +9,8 @@ a (gcd2 b (mod a b)))) -(defun gcdn (&rest numbers) - (reduce #'gcd2 (rest numbers) - :initial-value (first numbers))) +(defun gcdn (n &rest ns) + (reduce #'gcd2 ns :initial-value n)) (defun program-args () (or @@ -26,6 +25,8 @@ (map 'list (lambda (x) (parse-integer x :junk-allowed t)) (program-args)))) -(write (apply #'gcdn (numbers))) -(fresh-line) +(let ((ns (numbers))) + (when ns + (write (apply #'gcdn ns)) + (fresh-line))) -- cgit v1.2.3