擅长:python、mysql、java
<p>检查到一半,然后将所有通过的数字相加是非常低效的。<br/>
试着改变</p>
<pre><code> for k in range(1, int(i / 2) + 1):
if i % k == 0:
s += k
</code></pre>
<p>至</p>
<pre><code> for k in range(1, int(i**0.5)+1):
if i % k == 0:
s += k
if k != i//k:
s += i//k
</code></pre>