Я работаю с ruby, и идея заключается в создании метода, который добавляет все простые числа ниже заданного значения. То, что у меня есть сейчас, но когда я использую более крупные цифры, например, 10 миллионов, требуется бесконечная работа. Мне было интересно, если есть способ, которым я мог бы оптимизировать код, приведенный ниже, чтобы сделать его работать быстрее, даже с такими большими числамиКак оптимизировать следующий метод
def self.sum_to(limit)
primes = (2..limit).select do |n|
(2..Math.sqrt(n)).none? do |i|
(n % i).zero?
end
end
sum = primes.reduce(:+)
end
puts Primes.sum_to(10000000)