Advertisement
Guest User

Untitled

a guest
Jan 28th, 2015
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.30 KB | None | 0 0
  1. f :: [Int] -> Map Int Int -> Int -> Map Int Int
  2. f _ m 1 = m
  3. f [] m _ = m
  4. f (p:ps) m n =
  5. case n `divMod` p of
  6. (d, 0) -> f (p:ps) (M.alter count p m) d
  7. (_, _) -> f ps m n
  8. where count Nothing = Just 1
  9. count (Just x) = Just $ x + 1
  10.  
  11. factorize :: Int -> Map Int Int
  12. factorize = f primes M.empty
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement