私は LISP でこの宿題を持っています。ここでは、リストからアトムとサブリストを整理する必要があります。これは簡単な作業だと思いますが、私はあまりプログラマーではないので、理解するのにかなり時間がかかります。
私はこの番号のリストを持っています:
(5 -1 (2 6 1) (8 7 -3) (0 (9 4)) -6)
そして、自分のタスクを正しく理解していれば、次のようなものが得られるはずです:
(5 -1 -6 (2 6 1) (8 7 -3) (0 (9 4)))
これまでのところ、アトムやサブリストを数える方法しかわかっていませんが、それは必要ありません。
(DEFUN ATOMNUMBER (L) (COND ((NULL L) 0)
((ATOM (CAR L)) (+ 1 (ATOMNUMBER (CDR L))))
(T (ATOMNUMBER (CDR L))) ))
また、サブリストのみ、アトムのみ、または空のリストのみがある場合でも、その関数は正しく機能するはずです。
誰かが私に例を挙げてくれるでしょうか?
前もって感謝します!