Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (import srfi-1)
- (require-extension srfi-1)
- (define (is-prime? n)
- (cond
- ((<= n 3) (>= n 2))
- ((or (= (modulo n 2) 0) (= (modulo n 3) 0)) #f)
- (else (do ((i 5 (+ i 6))) ((> i (+ (sqrt n) 1)))
- (if (or (= (modulo n i) 0) (= (modulo n (+ i 2)) 0))
- #f)) #t)))
- (define (prime-gap n g)
- (if (and (is-prime? n) (is-prime? (- n g)))
- (list (- n g) n)
- #f))
- (define proc (lambda vars
- (length vars)))
- (define (argcheck args default)
- (define len (length args))
- (cond
- ((= len 2) (string->number (list-ref args 1)))
- ((= len 4) (string->number (list-ref args 3)))
- (else default)))
- (define (main args)
- (define gap (argcheck (args) 6))
- (display (remove (lambda (x) (not x)) (map (lambda (x) (prime-gap x gap)) (iota (* 1 1000) 1))))
- (newline)
- (exit))
- (if (not (equal? (program-name) "csi"))
- (main argv))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement