(define (long a b)
(cond ((null? a) '())
((null? b) '())
(else
(if (equal? (car a) (car b))
(cons a (long (cdr a) (cdr b)))
(cons b (long (cdr a) (cdr b)))))))
この関数は、2つのリスト間で最も長い共通プレフィックスを見つけると仮定します。だから私が '(1 2)と'(1 2 3)を入力すると、私は '(1 2)を得るべきです。しかし、私が(長い(1 2)(1 2 3))を実行すると、((1 2)(2))が得られます。私のコードを見直しても、私はその問題を見つけられないようです。誰かが問題を見つけるのを助けてくれますか?共通プレフィックスリスト関数に関する問題
ありがとうございます。