python编程找出 N(即小于等于 N)的所有素数
时间: 2024-09-28 20:17:50 浏览: 68
Python 基础题 求素数 读写文件 txt csv 循环 判断 求平均值
在Python中,我们可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出小于等于给定整数N的所有素数。这是一种高效查找素数的方法,通过排除所有能被已知素数整除的数字。以下是实现这一算法的一个简单版本:
```python
def find_primes(n):
primes = [True] * (n+1) # 创建一个布尔列表,初始都标记为素数
p = 2 # 首个素数为2
while p * p <= n:
# 如果当前p是素数
if primes[p]:
# 将p的倍数标记为合数(不是素数)
for i in range(p * p, n+1, p):
primes[i] = False
p += 1
# 输出小于等于N的所有素数
prime_numbers = [i for i in range(2, n+1) if primes[i]]
return prime_numbers
# 测试
N = int(input("请输入一个整数N: "))
print(find_primes(N))
```
当你运行这段代码时,它会询问你输入一个整数N,然后返回小于等于N的所有素数。
阅读全文