Anonymous user
Chowla numbers: Difference between revisions
m
→{{header|Haskell}}
Line 1,523:
import Data.List (intercalate)
sumFactors :: [(Prime
sumFactors = product . map f
where f (n, count) = foldr (\p s -> s + unPrime n^p) 1 [1..count]
chowla ::
chowla 1 = 0
chowla n = sumFactors (factorise n) - 1 - n
chowlaPrime ::
chowlaPrime 1 = False
chowlaPrime n = chowla n == 0
chowlaPerfectNum ::
chowlaPerfectNum 1 = False
chowlaPerfectNum n = chowla n == pred n
chowlaPrimes :: [
chowlaPrimes = go 0 [1..]
where
|