Jump to content

Sexy primes: Difference between revisions

No edit summary
Line 706:
findQuinTuplets xs (p1, p2, p3, p4) = (\(np1, np2) -> (p1, p2, p3, p4, np2)) <$> findPairs p4 xs
 
searchPairs :: [Int] -> ([(Int, Int)], [Int])
searchPairs [] = ([], [])
searchPairs p@(x:xs) = case findPairs x p of
(Just ps) -> (ps : searchPairs xsy,z)
Nothing -> searchPairs xs(y,x:z)
where (y, z) = searchPairs xs
 
main :: IO ()
main = do
let ps = takeWhile (< 1000035) primes
let (pairs, unsexy') = searchPairs ps
let triples = catMaybes $ map (findTriplets ps) pairs
let quads = catMaybes $ map (findQuadruplets ps) triples
let quins = catMaybes $ map (findQuinTuplets ps) quads
let sexyunsexy = filter (\p -> p `notElem` asList pairs) unsexy'
let unsexy = filter (\p -> p `notElem` sexy) ps
 
putStrLn ("Number of sexy prime pairs: " ++ (show $ length pairs))
Line 734:
where lastFive = reverse . take 5 . reverse
lastTen = reverse . take 10 . tail . reverse
asList p = fstsnd t ++ snd. tunzip
where t = unzip p
</lang>
{{out}}
Line 750 ⟶ 749:
Last 10 unsexy primes: [999853,999863,999883,999907,999917,999931,999961,999979,999983,1000003]
</pre>
 
=={{header|Java}}==
<lang java>
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.