| 123456789101112131415161718192021 |
- (define (even? x) (= 0 (modulo x 2)))
- (define (recurse s lst)
- (if (null? lst)
- (if (>= s 3)
- '(())
- '())
- (let* ((x (car lst))
- (xs (cdr lst)))
- (if (even? s)
- (append
- (map (lambda (ys) (cons x ys))
- (recurse (+ s 1) xs))
- (recurse s xs))
- (append
- (map (lambda (ys) (cons x ys))
- (recurse s xs))
- (recurse (+ s 1) xs))))))
- (define (ncsubseq lst)
- (recurse 0 lst))
- (define t1 (print (ncsubseq '(1 2 3 4 5))))
|