Sum of square and cube digits of an integer are primes: Difference between revisions
Content added Content deleted
m (julia example) |
(→{{header|Haskell}}: Added a version in Haskell) |
||
Line 81: | Line 81: | ||
next n</lang> |
next n</lang> |
||
{{out}}<pre>16 17 25 28 34 37 47 52 64</pre> |
{{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}}== |
=={{header|Julia}}== |