【发布时间】:2014-03-24 03:52:31
【问题描述】:
这是我的算法,它找到具有 > x 因子的第一个三角形数。我可以将它运行到大约 x = 150,然后它需要永远。我可以进行哪些更改来加快速度?谢谢!
def triangle_numbers_max_divisors(x)
triangle_numbers = []
divisors = 0
a = 1; b = 2
until divisors > x
divisors = 0
triangle_numbers.push(a)
a = a + b; b += 1
for i in 1..triangle_numbers.last
if triangle_numbers.last % i == 0
divisors += 1
end
end
end
triangle_numbers.last
end
【问题讨论】:
-
你想达到什么目的?你能提供一些预期的输入输出案例吗?