输入一个整数n,求n以内的素数。素数指的是除了1和它本身没有其他因子的整数;最小的素数是2,其余的素数都是奇数;素数序列为:2 3 5 7 11 13 17 19……
输入格式:
测试数据有多组,处理到文件尾。对于每组测试,输入一个整数n(1<n<2000)。
输出格式:
对于每组测试,输出n以内的素数。每两个素数之间留一个空格。
输入样例:
19
输出样例:
2 3 5 7 11 13 17 19
注意:结尾无空格或空行
答案示例:
import math
def is_prime(x):#定义函数判断素数
if x<2:
return False
elif x==2:
return True
else :
for i in range(2,int(math.sqrt(x))+1):
if x%i==0:
return False
return True
while True:
try:
m=[]
n=int(input())
for i in range(2,n+1):
if is_prime(i):
m.append(i)
s=0#注意不能简单地用end='',因为结尾无空,故采用下列算法
for k in m:
if s==0:
print(f'{k}',end='')
s+=1
elif s==1:
print(' ',k,sep='',end='')
print()
except:
break