Euler : Problem 47

Posted by TAKAIY On 2011年6月29日水曜日 0 コメント
4つの連続駿数で、全てが4種類の素数に因数分解できるようなものをみつける問題。

1から順に全ての数を素因数分解して出てくる数字の種類を数え、もとの数とのペアにしたデータを作る。
あたまから順に4つずつ取って、全部の数字の種類が4になった最初のものが答え。

factorsは前に作った、素因数分解したものをリストで返す関数。

時間かかりすぎ。


;;
;; Problem 47 : 2011/6/13
;; "Elapsed time: 162902.866705 msecs"

(take 1
(filter
(fn [coll] (every? #(= 4 (first %)) coll))
(partition 4 1
(map #(vector (count (distinct (factors %))) %)
(range 1 1000000)))))
;;

0 コメント:

コメントを投稿