【发布时间】:2013-12-26 20:08:34
【问题描述】:
欧拉计划问题#3:
13195 的质因数是 5、7、13 和 29。600851475143 的最大质因数是多少?
def is_prime?(number)
prime = true
(2...number).each { |x|
prime = false if number % x == 0
}
prime
end
def largest_prime(number)
primes = []
(number.downto(1)).each {|x|
primes.push(x) if number % x == 0 && is_prime?(x)
break if primes.count == 1
}
primes[0]
end
我的答案是用 Ruby 编写的。该代码适用于较小的数字但不适用于较大的数字,任何人都可以解释到底发生了什么以及如何解决它?我见过其他人有这个问题——很抱歉重新发布——但我是一个编程新手,我并不真正理解他们的答案,也没有看到任何其他用 Ruby 回答的帖子。谢谢!
【问题讨论】:
-
查看 Bignum (ruby-doc.org/core-2.1.0/Bignum.html)
标签: ruby