Content added Content deleted
|
|
nivens :: [Int]
nivens = [1..] >>= \n -> guard (n `rem` digitSum n == 0) >> pure n▼
nivens = do
n <- [1..]
▲ guard (n `rem` digitSum n == 0)
pure n
where
digitSum = sum . unfoldr (\x -> guard (x > 0) >> pure (swap $ x `quotRem` 10))
|