Sum of square and cube digits of an integer are primes: Difference between revisions

→‎{{header|Haskell}}: Added a version in Haskell
m (julia example)
(→‎{{header|Haskell}}: Added a version in Haskell)
Line 81:
next n</lang>
{{out}}<pre>16 17 25 28 34 37 47 52 64</pre>
 
=={{header|Haskell}}==
<lang haskell>import Data.Bifunctor (first)
import Data.Numbers.Primes (isPrime)
 
p :: Int -> Bool
p =
((&&) . primeDigits . (^ 2))
<*> (primeDigits . (^ 3))
 
 
--------------------------- TEST -------------------------
main :: IO ()
main = print $ filter p [1 .. 99]
 
 
------------------------- GENERIC ------------------------
primeDigits :: Int -> Bool
primeDigits = isPrime . digitSum 10
 
digitSum :: Int -> Int -> Int
digitSum base = go
where
go 0 = 0
go n = uncurry (+) (first go $ quotRem n base)</lang>
{{Out}}
<pre>[16,17,25,28,34,37,47,52,64]</pre>
 
=={{header|Julia}}==
9,655

edits