I'm trying to get the sum of all prime numbers from 0 to 2 000 000
this is my code:
let getPrimesUpTo (x : System.Int32) =
let upperBound = Convert.ToInt32(Math.Sqrt(Convert.ToDouble(x)))
let allNumbers = ref [1..x] in
for div = 2 to upperBound do allNumbers := List.filter (fun num -> (num % div <> 0 || div >= num)) !allNumbers
allNumbers
let sop =
let nums = !(getPrimesUpTo 2000000)
List.sum nums
when I run it I get: "Arithmetic operation resulted in an overflow"
If I don't do List.sum I get the list of primes