【发布时间】:2015-03-08 11:47:19
【问题描述】:
我写这篇文章是为了找到数字num 的素因数分解。它给出了正确的答案(例如,num 72 的 2、3、2、3、2),但它以奇怪的顺序出现。我不知道为什么。我想知道是否有人看到了我没有看到的东西。
$primes = [2]
$factors = []
num = 72
max = num
def isprime(n)
$primes.each do |x|
if n % x == 0 then
return
end
end
$primes.push(n)
return
end
i = 3
while i <= max
isprime(i)
i += 1
end
while !($primes.include?(num))
$primes.each do |x|
if num % x == 0 then
$factors.push(x)
num /= x
end
end
end
$factors.push(num)
puts $factors
【问题讨论】:
-
为什么要订购这些数字?
标签: ruby algorithm primes prime-factoring factorization