(Define (Primes N) (RemoveComposite(ListNumbers 1 N))) (define (ListNumbers I J) (if (> I J) NIL (if (= I J) (list I) (cons I (ListNumbers (+ 1 I) J)) ) ) ) (define (RemoveComposite L) (if (NULL L) NIL (if (composite (car L)) (RemoveComposite (cdr L)) (cons (car L) (RemoveComposite (cdr L))) ) ) ) (define (composite n) (hasdivisor 2 N) ) (define (hasdivisor I N) (if (> (* I I) N) NIL (if (divides I N) T (hasdivisor (+ 1 I) N) ) ) ) (define (divides I N) (= (* I (/ N I)) N))