Increasing gaps between consecutive Niven numbers: Difference between revisions

m
Line 224:
 
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))
Anonymous user