3を超える数値のリスト内の要素の数を列挙する再帰LISP関数が必要です。lets、loops、またはwhileを使用することは許可されておらず、基本的なCAR、CDR、SETQ、COND、CONS、APPEND、PROGNのみを使用できます。 、リスト..。
これは、この関数での私の試みです。
(defun foo (lst)
(COND ((null lst) lst)
(T (IF (> (CAR lst) 3)
(1+ (foo (CDR lst)))
(foo (CDR lst)) ) ) ) )
関数呼び出し:
(foo '(0 1 2 3 4 5 6))