-2
문제는 p1, p2, p3, p4라고하는 폴리곤 모서리에 대한 좌표로 가득 찬 목록이 있다는 것입니다. 이 (p1, p2) (p2, p3) (p3, p4) (p4, p1)과 같은 새 목록에 재귀 적으로 추가해야합니다. 그리고이 목록을 시작할 수 있습니다 (p1 p2 p3 p4)목록에 재귀 적으로 추가하기
문제는 p1, p2, p3, p4라고하는 폴리곤 모서리에 대한 좌표로 가득 찬 목록이 있다는 것입니다. 이 (p1, p2) (p2, p3) (p3, p4) (p4, p1)과 같은 새 목록에 재귀 적으로 추가해야합니다. 그리고이 목록을 시작할 수 있습니다 (p1 p2 p3 p4)목록에 재귀 적으로 추가하기
저는 Racket의 전문가가 아니므로이 솔루션을 소금 입자로 사용하십시오. 목록의 첫 번째 값을 끝에 추가하여 반복적으로 쌍을 계산할 수 있습니다.
#lang racket
(define (pair-list l)
(match l
[(cons a (cons b '())) (cons (cons a b) '())]
[(cons a (cons b t)) (cons (cons a b) (pair-list (cons b t)))]))
(define (compute-values l)
(pair-list (append l (cons (first l) '()))))
(compute-values (list 1 2 3 4))
'((1 . 2) (2 . 3) (3 . 4) (4 . 1))
시도해 보셨습니까? 작동하지 않는 코드 포함 (어쩌면 실제로 코드 작업을 수행 할 수 있습니다. :)) –