fork download
  1. module Main where
  2.  
  3. main :: IO ()
  4. main = readLn >>= print . solve
  5.  
  6. -- solve :: Int ->
  7. solve = primes
  8.  
  9. primes :: Int -> [Int]
  10. primes n = go n 2
  11.  
  12. go :: Int -> Int -> [Int]
  13. go x i | i * i > x = [x]
  14. | x `mod` i == 0 = i : go (x `div` i) i
  15. | otherwise = go x $ succ i
Success #stdin #stdout 0.01s 5316KB
stdin
60
stdout
[2,2,3,5]