python求解n以内素数的快速方法
方法一:排除所有n以内非素数,打印素数
def is_prime(n):
list_1=[j for i in range(2,int(n**0.5)+1) for j in range((i*2),n+1,i)]
list_2= [ n for n in range(2,n+1) if n not in list_1]
print((list_2))
is_prime(10000)
方法二:如果是素数,他的倍数肯定不是素数,从2开始判断至n
prime = []
def is_suShu(x):
for i in prime:
if x%i == 0:
return False
return True
for i in range(2,100):
if is_suShu(i):
prime.append(i)
print(prime)