10 lines
320 B
Haskell
10 lines
320 B
Haskell
divisors :: (Integral a) => a -> [a]
|
|
divisors n = filter ((0 ==) . (n `mod`)) [1 .. (n `div` 2)]
|
|
|
|
main :: IO ()
|
|
main = do
|
|
let range = [1 .. 20000 :: Int]
|
|
divs = zip range $ map (sum . divisors) range
|
|
pairs = [(n, m) | (n, nd) <- divs, (m, md) <- divs,
|
|
n < m, nd == m, md == n]
|
|
print pairs
|