RosettaCodeData/Task/Perfect-numbers/OCaml/perfect-numbers-2.ml
2024-10-16 18:07:41 -07:00

8 lines
179 B
OCaml

(* range operator *)
let rec (--) a b =
if a > b then
[]
else
a :: (a+1) -- b
let perf n = n = List.fold_left (+) 0 (List.filter (fun i -> n mod i = 0) (1 -- (n-1)))