Projeto Euler # 3 na solução Ruby expira
Eu estou passando por alguns dos problemas do Project Euler para praticar a resolução de problemas usando Ruby. Eu criei a seguinte solução para o problema 3 e, embora funcione para números menores, nunca parece retornar um valor para números maiores. Isso é por causa de algo a ver com Bignum? Alguém pode descrever para mim porque é o tempo limite, e melhor maneira de resolver este problema (de preferência com raciocínio / info sobre o que está acontecendo nos bastidores. Eu estou tentandoCompreendo)
Problema do Projeto Euler:
Os fatores primos de 13195 são 5, 7, 13 e 29. Qual é o maior fator primo do número 600851475143?
Minha solução:
def primecheck(number)
(2...number).each { |x| return false if number % x == 0}
true
end
def largestprime(number1)
factors = []
(1..number1).each do |i|
if number1 % i == 0 && primecheck(i)
factors << i
end
end
puts "The answer is #{factors.last}"
end
largestprime(600_851_475_143)