initial commit
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
module _21
|
||||
|
||||
let amicalbleNumbers len =
|
||||
// get divisor sums
|
||||
let dSums = common.divisors len |> Array.map (List.fold (+) 0)
|
||||
// find amicable ones
|
||||
[2..len] |> List.filter (fun i ->
|
||||
dSums.[i] > 0 &&
|
||||
dSums.[i] <= len &&
|
||||
not (i = dSums.[i]) &&
|
||||
i < dSums.[i] &&
|
||||
i = dSums.[dSums.[i]]
|
||||
)
|
||||
|> List.map (fun i -> (i, dSums.[i]))
|
||||
|
||||
let amicalbleSum =
|
||||
let a = amicalbleNumbers 10000
|
||||
let all = List.append (a |> List.map fst) (a |> List.map snd)
|
||||
all |> List.sum
|
||||
Reference in New Issue
Block a user