Advertisement
Guest User

Untitled

a guest
Apr 26th, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. (import srfi-1)
  2. (require-extension srfi-1)
  3.  
  4. (define (is-prime? n)
  5. (cond
  6. ((<= n 3) (>= n 2))
  7. ((or (= (modulo n 2) 0) (= (modulo n 3) 0)) #f)
  8. (else (do ((i 5 (+ i 6))) ((> i (+ (sqrt n) 1)))
  9. (if (or (= (modulo n i) 0) (= (modulo n (+ i 2)) 0))
  10. #f)) #t)))
  11.  
  12. (define (prime-gap n g)
  13. (if (and (is-prime? n) (is-prime? (- n g)))
  14. (list (- n g) n)
  15. #f))
  16.  
  17. (define proc (lambda vars
  18. (length vars)))
  19.  
  20. (define (argcheck args default)
  21. (define len (length args))
  22. (cond
  23. ((= len 2) (string->number (list-ref args 1)))
  24. ((= len 4) (string->number (list-ref args 3)))
  25. (else default)))
  26.  
  27. (define (main args)
  28. (define gap (argcheck (args) 6))
  29. (display (remove (lambda (x) (not x)) (map (lambda (x) (prime-gap x gap)) (iota (* 1 1000) 1))))
  30. (newline)
  31. (exit))
  32.  
  33. (if (not (equal? (program-name) "csi"))
  34. (main argv))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement