動いた
まだ修正の余地はあるみたいですが、朝イチ紙ベースでナニ。
(define (f l) (define (cmp item list) (if (null? (cdr list)) (eq? item (+ 1 (car list))) (eq? item (+ 1 (cdr list))))) (define (set-rslt rslt p) (if (null? (cdr p)) (append rslt (list (car p))) (append rslt (list p)))) (define (f-iter rslt l p) (if (null? l) (set-rslt rslt p) (cond ((cmp (car l) p) (set-cdr! p (car l)) (f-iter rslt (cdr l) p)) (else (f-iter (set-rslt rslt p) (cdr l) (list (car l))))))) (f-iter '() (cdr l) (list (car l))))
全部紙の上でナニできれば、なのでしょうが流石にソコまでには至ってません。
あと、最後に rslt 戻せば OK になっていないあたりが微妙っちゃ微妙。
しかし
現実トウヒなソレの生産性のなんと高いことよ。(を