问题描述:
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
解决方案:
(ns euler-problem-10.core
(:use [clojure.contrib.math]))
(defn prime?
[num]
(every? #(or (> (rem num %) 0) (= num %)) (apply list (range 2 (inc (ceil (sqrt num)))))))
;(prime? 9)
(defn next-prime
[num]
(loop [x (inc num)]
(if (prime? x)
x
(recur (inc x)))))
(defn sum-primes-below
[num]
(apply + (filter #(prime? %) (range 2 num))))
(sum-primes-below 2000000)
答案:142913828922