Sexy primes: Difference between revisions

Content added Content deleted
Line 711: Line 711:


groups :: Int -> Result -> Result
groups :: Int -> Result -> Result
groups a r@(Result p t q qn u)
groups n r@(Result p t q qn u)
| isPrime (a-24) && isPrime (a-18) && isPrime (a-12) && isPrime (a-6) = Result asPair asTriplet asQuad asQuin u
| isPrime (n-24) && isPrime (n-18) && isPrime (n-12) && isPrime (n-6) = Result asPair asTriplet asQuad asQuin u
| isPrime (a-18) && isPrime (a-12) && isPrime (a-6) = Result asPair asTriplet asQuad qn u
| isPrime (n-18) && isPrime (n-12) && isPrime (n-6) = Result asPair asTriplet asQuad qn u
| isPrime (a-12) && isPrime (a-6) = Result asPair asTriplet q qn u
| isPrime (n-12) && isPrime (n-6) = Result asPair asTriplet q qn u
| isPrime (a-6) = Result asPair t q qn u
| isPrime (n-6) = Result asPair t q qn u
| (not $ isPrime (a+6)) && (not $ isPrime (a-6)) = Result p t q qn (a : u)
| (not $ isPrime (n+6)) && (not $ isPrime (n-6)) = Result p t q qn (n : u)
| otherwise = r
| otherwise = r
where asPair = (a-6, a) : p
where asPair = (n-6, n) : p
asTriplet = (a-12, a-6,a) : t
asTriplet = (n-12, n-6, n) : t
asQuad = (a-18, a-12, a-6, a) : q
asQuad = (n-18, n-12, n-6, n) : q
asQuin = (a-24, a-18, a-12, a-6, a) : qn
asQuin = (n-24, n-18, n-12, n-6, n) : qn


main :: IO ()
main :: IO ()