Content added Content deleted
|
|
Line 224: |
Line 224: |
|
|
|
|
|
nivens :: [Int] |
|
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 |
|
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)) |