(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). 그러나, 나는 (long '(1 2)'(1 2 3))을 실행할 때 ((1 2) (2))를 얻는다. 코드를 통해 단계를 되돌아 보았을 때 문제가없는 것 같습니다. 누군가가 문제를 찾도록 도와 줄 수 있습니까?일반적인 접두사 목록 함수의 문제점
감사합니다.