python筛选300以内的素数
时间: 2024-09-26 13:01:04 浏览: 73
在Python中,我们可以使用循环和条件判断来筛选出300以内的素数。素数是指大于1的自然数,除了1和它本身以外不再有其他正因数的数。下面是一个简单的函数,用于找出小于等于300的所有素数:
```python
def is_prime(n):
if n <= 1:
return False
elif n == 2: # 2是最小的素数
return True
elif n % 2 == 0: # 除了2外,所有偶数都不是素数
return False
else:
i = 3
while i * i <= n:
if n % i == 0:
return False
i += 2 # 只需要检查奇数,因为偶数已经排除了
return True
# 筛选出300以内的素数
primes_below_300 = [n for n in range(300) if is_prime(n)]
print(primes_below_300)
相关问题
用筛选法求300以内素数python
可以使用以下代码来使用筛选法求300以内的素数:
```python
# 初始化一个长度为300的列表,全部赋值为True
is_prime = [True] * 300
# 和1不是素数,将其标记为False
is_prime[] = is_prime[1] = False
# 从2开始遍历到根号300
for i in range(2, int(300 ** .5) + 1):
# 如果当前数是素数,将其倍数标记为False
if is_prime[i]:
for j in range(i * i, 300, i):
is_prime[j] = False
# 输出所有素数
for i in range(2, 300):
if is_prime[i]:
print(i)
```
运行结果为:
```
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
211
223
227
229
233
239
241
251
257
263
269
271
277
281
283
293
```
python筛选一百以内的素数
您好,关于您的问题,我可以回答。以下是使用Python筛选100以内的素数的代码示例:
```python
primes = []
for i in range(2, 101):
for j in range(2, int(i**0.5) + 1):
if i % j == 0:
break
else:
primes.append(i)
print(primes)
```
该代码使用了“埃氏筛法”的思想,从2开始遍历到100,对每个数进行素数判断。如果该数不是素数,则跳过该循环;如果该数是素数,则将其添加到`primes`列表中。最后打印出所有的素数。
希望这个回答对您有所帮助。
阅读全文