fork download
  1. ; goldbach's other conjecture
  2.  
  3. (define (prime? n)
  4. (if (even? n) #f
  5. (let loop ((f 3))
  6. (if (< n (* f f)) #t
  7. (if (zero? (modulo n f)) #f
  8. (loop (+ f 2)))))))
  9.  
  10. (define (goldbach n)
  11. (let loop ((dsq 0) (k 1))
  12. (if (< n dsq) (list)
  13. (if (prime? (- n dsq)) (list (- n dsq) (sqrt (/ dsq 2)))
  14. (loop (+ dsq k k) (+ k 2))))))
  15.  
  16. (do ((n 3 (+ n 2))) ((< 10000 n))
  17. (let ((g (goldbach n)))
  18. (when (null? g)
  19. (display n) (newline))))
Success #stdin #stdout 7.14s 9856KB
stdin
Standard input is empty
stdout
5777
5993