Я пытаюсь масштабировать решение, которое у меня есть, для практического вопроса Hackerrank.
Таким образом, вопрос заключается в том, чтобы найти максимальное количество простых множителей в диапазоне.
Для 1..500
это 4 for 210 -> 2(1), 3(1), 5(1), 7(1)
Для 1..5000
это 5 for 2310 -> 2(1), 3(1), 5(1), 7(1), 11(1)
Для 1..50000
это 6 for 30030 -> 2(1), 3(1), 5(1), 7(1), 11(1), 13(1)
это мое решение
require 'prime'
max = 0
for d in 1..n
pfs = d.prime_division.count
max = pfs if pfs > max
end
puts max
Это займет вечность для n = 10000000000
.
Возможно, я смотрю на решение с неправильной точки зрения.
Как масштабировать это решение?