我试图得到一个函数来确定N是否是质数。我是Python新手,我知道这可能不是解决这个问题的最有效的方法,但这是我的尝试def is_prime(N):
k = [] #Creates a new list k
for i in range(2,N): #For each i from 2 -> N
r = N%i # r is the remainder of N % i
k.append(r) # appends each remainder r to list k
if (i == N-1): #Once index equals N-1, print list k
print(k)
#For each element j in list k, check if each element in list k is 0
for j in range (len(k)):
if k[j] != 0:
return True
else:
return False
print(is_prime(15))
我的逻辑是,当一个数可以被1和它自己整除,而不能被2到N-1之间的任何其他数整除,那么它就是一个质数。在上面的代码中,我在比较列表k中每个元素的值时遇到了问题。我想确定每个元素k[j]的值是否等于0。如果每个元素k[j]!=0且N%1==0且N%N==0,则为质数!在
有什么办法解决这个问题吗?请参考下面的链接,以获得我的代码可视化!
http://goo.gl/IVIRz7