Name: Anonymous 2012-10-02 17:08
i need a program that finds all the primes under an arbitrary number and puts them on the console
have it ready by thursday at noon you faggots
have it ready by thursday at noon you faggots
(define-syntax delay
(syntax-rules ()
((delay expr)
(lambda ()
expr))))
(define-syntax cons-stream
(syntax-rules ()
((cons-stream a b)
(cons a (delay b)))))
(define (force2 x)
(x))
(define (stream-car s)
(car s))
(define (stream-cdr s)
(force2 (cdr s)))
(define (stream-ref s n)
(if (= n 0)
(stream-car s)
(stream-ref (stream-cdr s) (- n 1))))
(define (stream-null? stream) (null? stream))
(define (stream-filter pred stream)
(cond ((stream-null? stream) the-empty-stream)
((pred (stream-car stream))
(cons-stream (stream-car stream)
(stream-filter pred
(stream-cdr stream))))
(else (stream-filter pred (stream-cdr stream)))))
(define (integers-starting-from n)
(cons-stream n (integers-starting-from (+ n 1))))
(define (divisible? x y) (= (remainder x y) 0))
(define (sieve stream)
(cons-stream
(stream-car stream)
(sieve (stream-filter
(lambda (x)
(not (divisible? x (stream-car stream))))
(stream-cdr stream)))))
(define primes (sieve (integers-starting-from 2)))