Improved project structure.
This commit is contained in:
27
haskell/e049.hs
Normal file
27
haskell/e049.hs
Normal file
@@ -0,0 +1,27 @@
|
||||
import Data.Function
|
||||
import Data.List
|
||||
import qualified Data.Set as S
|
||||
|
||||
|
||||
prims = fix (\f (x:xs) -> x:f (filter (\y -> rem y x /= 0) xs)) [2..]
|
||||
|
||||
--permu :: Integer -> S.Set Integer
|
||||
permu :: Integer -> S.Set Integer
|
||||
permu = S.fromList . map read . permutations . show
|
||||
|
||||
|
||||
primsList = dropWhile (< 1000) $ takeWhile (< 10000) prims
|
||||
primsSet = S.fromList primsList
|
||||
|
||||
candidates :: [[Integer]]
|
||||
candidates = map (\prim -> S.toList $ S.intersection primsSet (permu prim)) primsList
|
||||
|
||||
candidates' = filter (\x -> 3 <= length x) candidates
|
||||
candidates'' = map sort candidates'
|
||||
|
||||
--permu' :: [a] -> [[a]]
|
||||
permu' [] = []
|
||||
permu' (x:xs) = [map permu' y | y <- tails xs]
|
||||
|
||||
--permu3 xs = filter (\(a:b:c:[]) -> a < b && b < c && b - a == c - b) $ nub $ map (take 3) $ permutations xs
|
||||
|
||||
Reference in New Issue
Block a user