第一次写,先贴上以供参考:
prime_list=[2]
prime_div_list=[2]
n = int(input('请输入最大值n:'))
i=3
div_num_max=0
a=0
while(i<=n):
flag=0
l=len(prime_div_list)
while(l>0 and flag==0):
a=prime_div_list[l-1]
l=l-1
if(i%a==0):
flag=1
if(flag==0):
prime_list.append(i)
l=len(prime_div_list)
i=i+1
div_num_max=prime_list[l]
if(i>=div_num_max*div_num_max):
prime_div_list.append(prime_list[l])
for i in prime_list:
print(i)
print("在1与",n,"之间一共有",len(prime_list),"个素数")