Problem 12
http://projecteuler.net/index.php?section=problems&id=12
--Haskell, 20090104 import Sequence (trianglar) enprimes :: Int -> Int -> [Int] enprimes 1 _ = [] enprimes s n = let t = takeWhile ((==0).(s`mod`)) (iterate (*n) 1) in length t - 1 : enprimes (s`div`(last t)) (n+1) main = print $ head [x | x<-trianglar, (product.map (+1).enprimes x) 2 > 500]
数列モジュールを使用.改善の余地あり.