擅长:python、mysql、java
<p>你不能判断一个数是否是素数,除非你在整个循环中没有找到任何除数。你报告一个数是质数,只要你找到一个不除它的数,但它可能仍然可以被某个更高的数整除。你的代码会说所有奇数都是素数,因为它们不是<code>2</code>的倍数。在</p>
<p>而且,不必一直到你的范围内的<code>n</code>。一个数的任何因子都不能大于该数的平方根。在</p>
<pre><code>def prime_checker(n):
if n > 2:
for i in range (2, int(n ** .5)+1):
if (n % i) == 0:
print "%s is not a prime number" % (n)
return false
print "%s is a prime number" % (n)
return true
</code></pre>