我正在尝试解决欧拉项目的问题 12。第一个有超过 500 个除数的三角形数的值是多少?(第 7 个三角形数为 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28)。这是我的代码,但速度不够快。。你有什么优化技巧吗?
n=0
a=0
list=[]
maxcount=0
while True:
n+=1
a+=n
count=0
for x in range(1,int(a+1)):
if a%x==0:
count+=1
if count>maxcount:
maxcount=count
print a, "has", maxcount, "dividors"
谢谢!