python输出100~200之间的全部素数
时间: 2023-10-21 21:03:33 浏览: 874
可以使用以下代码来输出100~200之间的全部素数:
```python
for num in range(100, 201):
if all(num % i != 0 for i in range(2, int(num ** 0.5) + 1)):
print(num)
```
解释一下上面的代码:
- `range(100, 201)` 表示从100到200的范围;
- `all(num % i != 0 for i in range(2, int(num ** 0.5) + 1))` 是一个判断是否为素数的条件,其中 `int(num ** 0.5) + 1` 表示取 `num` 的平方根并向上取整,然后加1,这是因为一个数的因子最多只有一个大于它的平方根的整数,所以只需要判断到平方根即可;
- 如果满足条件,则输出该数。
运行上述代码可以得到输出:
```
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
```
相关问题
使用python输出100~200的所有素数
在Python中,我们可以使用一个经典的算法——埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出100到200之间的所有素数。以下是实现这一功能的代码:
```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): # 将p的倍数标记为非质数
primes[i] = False
p += 1
# 打印素数列表
for p in range(100, n+1):
if primes[p]:
print(p)
# 调用函数输出100到200的素数
sieve_of_eratosthenes(200)
```
这段代码首先创建了一个布尔数组,然后通过迭代去除所有的合数,最后保留下来的便是素数。
用python输出100~200之间所有的素数和素数的个数 输出格式: 在第一行输出100-200之间所有素数,中间用空格分隔 在第二行输出素数的个数 输入样例: 在这里给出一组输入。例如:
以下是代码实现:
```python
import math
def is_prime(num):
"""
判断一个数是否是素数
"""
if num < 2:
return False
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return False
return True
count = 0
for i in range(100, 201):
if is_prime(i):
print(i, end=' ')
count += 1
print('\n' + str(count))
```
输出结果为:
```
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
21
```
阅读全文