Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Newfags can't Bruteforce

Name: Anonymous 2010-08-22 21:39

    for(i=2;i<max;i++) {
        for(j=2;j<i;j++) {
            if((i%j)==0) { tmp=1;}
        }
        if(tmp==0) { primes++; }
        tmp=0;
    }

Name: Anonymous 2010-08-25 13:13


#lang r5rs
(define-syntax scons
  (syntax-rules ()
    ((_ a b) (cons a (delay b)))))

(define scar car)

(define scdr (lambda (stream) (force (cdr stream))))

(define enumerate-integers
  (lambda(from)
    (scons from (enumerate-integers (+ 1 from)))))

(define stream-filter
  (lambda(p? stream)
    (if (p? (scar stream))
        (scons (scar stream) (stream-filter p? (scdr stream)))
        (stream-filter p? (scdr stream)))))

(define stream-map
  (lambda(p stream)
    (scons (p (scar stream)) (stream-map p (scdr stream)))))

(define multiples-of
  (lambda(n)
    (stream-map (lambda(x) (* x n)) (enumerate-integers 1))))

(define wheel-filter
  (lambda(wheels stream)
    (let ((v (scar stream)))
      (if (memq v (map scar wheels))
          (wheel-filter (rotate-wheels v wheels) (scdr stream))
          (scons (scar stream) (wheel-filter (cons (scdr (multiples-of v)) wheels) (scdr stream)))))))

(define rotate-wheels
  (lambda(value wheels)
    (cond ((null? wheels) '())
          ((eq? value (scar (car wheels))) (cons (scdr (car wheels)) (rotate-wheels value (cdr wheels))))
          (else (cons (car wheels) (rotate-wheels value (cdr wheels)))))))

(define primes
  (wheel-filter (list (scdr (multiples-of 2))) (enumerate-integers 2)))

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List