4077: 练5.6 筛选法找质数
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:18
解决:5
题目描述
用筛法求出n(2≤n≤1000)以内的全部质数。
输入
输入n。
输出
输出若干个数字,用一个空格隔开,表示由小到大的质数。
样例输入 复制
10
样例输出 复制
2 3 5 7
提示
import math n=int(input()) #输入个数n #设置一个长度为n+1的列表,列表元素的初值是True prime= [True]*(n+1) prime[1]=False maxn=int(math.sqrt(n)+1) for i in range (2,maxn): if prime[i]: for j in range(2,n//i+1): #i*j是合数 prime[i*j]=False for i in range(2,n+1): if prime[i]: print(i,end=' ')