擅长:python、mysql、java
<p>我喜欢你建立一个素数列表并用这个列表来检测更大的素数。你说得对,你的代码比它需要的复杂,特别是你的<code>flag</code>变量是不需要的。在</p>
<p>您在<code>primeCheck1()</code>方法中也错过了一些可以加快速度的技巧。因为我的Python不存在,所以这是Python类的伪代码。我想你能把它改过来。在</p>
<pre><code>def primeCheck1(self, n, primelist):
# Handle even numbers.
if n % 2 == 0:
# The only even prime is 2.
return (n == 2)
# Handle multiples of 3.
if n % 3 == 0:
return (n == 3)
# Handle remaining numbers.
sqroot = int(math.sqrt(n))
for j in range(0, sqroot):
if n % primelist[j] == 0:
return False # Not a prime number.
# If we get this far then the number is prime.
return True
end primeCheck1
</code></pre>
<p>在一个次要的问题上,你有一个习惯,不间隔你的代码:<code>a==b</code>而不是{<cd4>}。使用空格作为分隔符使代码更易于阅读。在</p>