从键盘输入一个整数n,要求用筛选法求[2,n]范围内的全部素数,并打印出来。筛选法的思想如下:在2~n中划去2的倍数(不包括2),再划去3的倍数(不包括3),由于4已被划去,再找5的倍数划去….. ,直到划去不超过n的倍数,剩下的数都是素数,用python代码写出相应的程序
时间: 2024-05-29 15:12:53 浏览: 102
n = int(input("请输入一个整数:"))
nums = [True] * (n+1)
i = 2
while i*i <= n:
if nums[i]:
j = i*i
while j <= n:
nums[j] = False
j += i
i += 1
primes = [i for i in range(2, n+1) if nums[i]]
print(primes)
阅读全文