我是编码界的新手。我试图解决欧拉计划的第12个问题,找到第一个有500个除数的三角形数
我的代码在17秒左右返回结果。我相信有很多方法可以在更短的时间内运行它。有人能帮我优化代码吗
这是我的密码:
def divisor_triangle_numbers(div):
tr_num = 1
n = 2
while True:
tr_num += n
divs = 0
for i in range(1,int(tr_num**0.5)+1):
if tr_num%i == 0:
divs += 2
if divs > div:
print(tr_num, divs)
return tr_num, divs
n += 1
您可以尝试多线程。这并不是真正的优化,但由于它在python中相当简单,因此可能是一个很好的改进
相关问题 更多 >
编程相关推荐