fork download
  1. sumDiv n = sum $ [x | x <- [1..n-1], mod n x == 0]
  2.  
  3. friends :: [(Integer, Integer)]
  4. friends = filter (\(x, s) -> x < s && sumDiv s == x) $ map (\x -> (x, sumDiv x)) [1..]
  5.  
  6. -- ideone не показывает вывод закрывшейся по таймауту проги
  7. --main = mapM print friends
  8.  
  9. -- поэтому
  10. main = mapM print $ take 5 friends
Success #stdin #stdout 2.85s 3552KB
stdin
Standard input is empty
stdout
(220,284)
(1184,1210)
(2620,2924)
(5020,5564)
(6232,6368)