Euler : Problem 7

Posted by TAKAIY On 2011年4月9日土曜日 0 コメント

また出た。素数。

素数かどうかの判定を作った。
見つけた素数を取っておいて、判定に使うようにした。これいいんじゃないかなぁ。
10000までは作れた。 その後はわからない。

;; Problem 7  : 2011/4/8
(defn is-prime-sub? [target prm-list]
(zero? (count (filter #(zero? (rem target %))
(take-while (< % (Math/sqrt target) prm-list))))))

(defn find-prime [n]
(loop [prime-list '(2 3 5)
target 6]
(if (>= (count prime-list) n)
prime-list
(if (is-prime-sub? target prime-list)
(recur (concat prime-list (list target)) (inc target))
(recur prime-list (inc target))))))

(drop 10000 (find-prime 10001))

;;

0 コメント:

コメントを投稿