python编程找出 N(即小于等于 N )的所有素数。
时间: 2024-10-07 15:02:13 浏览: 45
python使用筛选法计算小于给定数字的所有素数
在Python中,可以编写一个函数来找出小于等于给定数字N的所有素数。素数是指只有1和它本身能够整除的自然数。以下是使用埃拉托斯特尼筛法(Sieve of Eratosthenes)的一个简单实现:
```python
def sieve_of_eratosthenes(n):
primes = [True] * (n + 1) # 创建一个布尔列表,标记所有数为可能是素数
p = 2
while p * p <= n:
if primes[p]: # 如果p是素数,则其倍数都不是素数
for i in range(p * p, n + 1, p):
primes[i] = False
p += 1
# 输出所有大于1且为素数的数
prime_numbers = [p for p in range(2, n + 1) if primes[p]]
return prime_numbers
# 调用函数并打印结果
N = int(input("请输入一个数字N: "))
prime_list = sieve_of_eratosthenes(N)
print(f"小于等于{N}的所有素数是: {prime_list}")
阅读全文