パーティション (リストのリスト) を取り、同値関係を表すペアのリストを返す Scheme 関数を定義するのに助けが必要です。コードを書き始めましたが、間違った方向に進んでいることに気づきました。私は何時間もこれを見てきましたが、進歩はありません。
(define partition
(lambda (piv l p1 p2)
(if (null? l)
(list p1 p2)
(if (< (car l) piv)
(partition piv (cdr l) (cons (car l) p1) p2)
(partition piv (cdr l) p1 (cons (car l) p2))))))
ただし、関数は次のように機能する必要があります (partition ’((3 4) (5)))
。((3 3) (3 4) (4 3) (4 4) (5 5))
どんな助けでも大歓迎です