因此,我可以通过互联网的一点帮助解决这个问题,这就是我得到的:
def isPrime(n):
for i in range(2,int(n**0.5)+1):
if n%i==0:
return False
return True
但是我的问题确实是如何做到的,但是为什么。我知道即使1也不被认为是“质数”,并且我理解如果将其除以该范围内的任何值,它将自动不是质数,因此将返回False语句。但是我的问题是在中,以“n”为根的方起什么作用?
P.s.我经验不足,一个月前才被介绍编程。
参考方案
在互联网上流通的许多质数测试中,请考虑以下Python函数:
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
# since all primes > 3 are of the form 6n ± 1
# start with f=5 (which is prime)
# and test f, f+2 for being prime
# then loop by 6.
f = 5
while f <= r:
print('\t',f)
if n % f