问题描述:
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
本文提供了一个使用Clojure编程语言求解两百万以内所有素数之和的方法。通过定义prime?函数判断素数,并利用sum-primes-below函数计算指定范围内的素数总和。最终得出答案为142913828922。
313

被折叠的 条评论
为什么被折叠?



