(1) 使用列表实现筛选法求素数 编写程序,输人一个大于2的自然数,然后输出小于该数字的所有素数组成的列表。所谓素数,是指除了1和自身之外没有其他因数的自然数,最小的素数是 2,后面依次是3、5、7、11、13…
时间: 2024-10-13 20:10:15 浏览: 40
sushu.rar_求素数
要使用列表实现筛选法求素数,你可以采用埃拉托斯特尼筛法(Sieve of Eratosthenes)。以下是基于这种方法的一个简化的Python代码示例:
```python
def sieve_of_eratosthenes(n):
primes = [True] * (n+1)
p = 2
while p * p <= n:
# 如果p是素数,则将p的倍数标记为合数
if primes[p] == True:
for i in range(p * p, n+1, p):
primes[i] = False
p += 1
# 将索引对应的值为True的元素转换为素数列表
prime_list = [i for i, is_prime in enumerate(primes) if is_prime and i > 1]
return prime_list
n = int(input("请输入一个大于2的自然数: "))
if n > 2:
prime_list = sieve_of_eratosthenes(n)
print(f"小于{n}的所有素数有: {prime_list}")
else:
print("输入的数值需要大于2。")
阅读全文