擅长:python、mysql、java
<p>只是一个一般的建议:有好的(和快速的!)检查一个数是否为素数的算法。你的循环从n-1开始,效率很低。假设数字是
1000000,所以你的算法从999999开始,但是第一个偶数可能是n的一半!所以我会从2到n/2:</p>
<pre><code>for i in range(n/2):
if self.number%i==0:
return true
return false
</code></pre>
<p>我认为对于你来说,最好不是返回一个布尔值,而是返回一个被发现是除数的数字:</p>
^{pr2}$
<p>然后可以反复调用该方法,只会得到质数。在</p>