擅长:python、mysql、java
<p>问题是在check函数中对“abondant”进行了两次迭代,调用了28111次。
只计算一次所有a+b的集合,然后检查你的数字是否在里面,效率会更高。你知道吗</p>
<p>比如:</p>
<pre><code>def get_combinations():
return set(a+b for a in abondant for b in abondant)
</code></pre>
<p>然后可能是主要功能:</p>
<pre><code>def main():
combinations = get_combinations()
non_abondant = filter(lambda nb: nb not in combinations, range(12,l))
return sum(non_abondant)
</code></pre>