Increasing gaps between consecutive Niven numbers: Difference between revisions
Content added Content deleted
Line 224: | Line 224: | ||
nivens :: [Int] |
nivens :: [Int] |
||
nivens = [1..] >>= \n -> guard (n `rem` digitSum n == 0) >> |
nivens = [1..] >>= \n -> guard (n `rem` digitSum n == 0) >> [n] |
||
where |
where |
||
digitSum = sum . unfoldr (\x -> guard (x > 0) >> pure (swap $ x `quotRem` 10)) |
digitSum = sum . unfoldr (\x -> guard (x > 0) >> pure (swap $ x `quotRem` 10)) |