diff --git a/Problem23.hs b/Problem23.hs index 4f184be..8eac30b 100644 --- a/Problem23.hs +++ b/Problem23.hs @@ -1,4 +1,22 @@ -import Data.List +-- A perfect number is a number for which the sum of its proper divisors is +-- exactly equal to the number. For example, the sum of the proper divisors of +-- 28 would be 1 + 2 + 4 + 7 + 14 = 28, which means that 28 is a perfect +-- number. +-- +-- A number n is called deficient if the sum of its proper divisors is less +-- than n and it is called abundant if this sum exceeds n. +-- +-- As 12 is the smallest abundant number, 1 + 2 + 3 + 4 + 6 = 16, the smallest +-- number that can be written as the sum of two abundant numbers is 24. By +-- mathematical analysis, it can be shown that all integers greater than 28123 +-- can be written as the sum of two abundant numbers. However, this upper limit +-- cannot be reduced any further by analysis even though it is known that the +-- greatest number that cannot be expressed as the sum of two abundant numbers +-- is less than this limit. +-- +-- Find the sum of all the positive integers which cannot be written as the sum +-- of two abundant numbers. + import Data.Maybe import Euler @@ -9,6 +27,6 @@ abundant :: [Int] abundant = filter isAbundant [1..] abundantPair :: Int -> Maybe (Int, Int) -abundantPair n = listToMaybe [ (p,q) | p <- takeWhile (