擅长:python、mysql、java
<h2>已解决</h2>
<p>在Niklas的帮助下,改变了我的<code>div</code>方法,我得到了答案。而且,现在只需要我以前算法所用时间的8%。在</p>
<p>算法现在如下所示:</p>
<pre><code>import time
import itertools
def div(n):
d=0
for i in range(1,int(n**.5)+1):
if (n % i) == 0:
d += 1
return 2*d
start = time.time()
s = m = 0
for i in itertools.count(1):
s += i
r = div(s)
if r > m:
m = r
print s,"has",r,"factors"
if div(s) > 500:
break
print "Solved in",((time.time()-start)*1000),"milliseconds"
</code></pre>