The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
In [21]:
def is_prime?(num)
return true if num == 2
return false if num % 2 == 0
return (2..Math.sqrt(num).ceil).all?{|i| num % i != 0}
end
is_prime? 104693
Out[21]:
In [20]:
is_prime? 2
Out[20]:
In [19]:
primes = []
(2..2000000).lazy.each do |i|
primes << i if is_prime?(i)
end
primes.inject(&:+)
Out[19]:
In [ ]: