求300以内的素数的python 代码
时间: 2024-01-22 16:04:09 浏览: 50
好的,以下是求300以内素数的Python代码:
```python
primes = []
for num in range(2, 300):
for i in range(2, num):
if (num % i) == 0:
break
else:
primes.append(num)
print(primes)
```
这段代码会输出所有在2到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求300以内的质数代码分析
以下是 Python 代码实现:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
return True
for i in range(2, 301):
if is_prime(i):
print(i)
```
代码解析:
首先定义一个函数 is_prime(num),用于判断一个数字是否为质数。如果该数字小于 2,则不是质数,直接返回 False。如果该数字大于等于 2,则从 2 开始遍历到它的平方根,如果在此范围内存在一个数能够整除该数字,则它不是质数,返回 False。如果遍历完毕都没有找到能够整除该数字的数,则它是质数,返回 True。
接着使用 for 循环遍历 2 到 300 之间的数字,对于每个数字都调用 is_prime 函数进行判断,如果是质数则打印出来。