(define (cycle? ls) (define (catch? slow fast) (cond ((eq? slow fast) #t) ((or (null? slow) (null? fast)) #f) ((or (null? (cdr slow)) (null? (cdr fast))) #f) (else (catch? (cdr slow) (cddr fast)))))
(if (and (pair? ls) (pair? (cdr ls))) (catch? (cdr ls) (cddr ls)) #f)) |
네 토끼와 거북이
리스트 프로세싱 언어합시다
댓글 0