因为我是 Common Lisp 的新手,所以我尝试使用 Common Lisp ( SBCL )来解决SPOJ上的问题。第一个问题是阅读数字直到找到数字 42 的简单任务。这是我的解决方案:
(defun study-num ()
(let ((num (parse-integer (read-line t))))
(when (not (= num 42))
(format t "~A~%" num)
(study-num))))
(study-num)
解决方案被接受。但是当我查看结果的细节时,我发现它使用了 57M 的 MEM!这太不合理了,但我不知道为什么。我可以做些什么来进行优化?