python 输出一百以内所有的素数
时间: 2023-09-06 10:11:53 浏览: 88
Python求出0~100以内的所有素数
以下是一个输出一百以内所有素数的Python程序:
```python
for num in range(2, 101):
# 如果num大于1,并且num是质数,则打印它
if all(num % i != 0 for i in range(2, int(num ** 0.5) + 1)) and num > 1:
print(num)
```
解释一下:
- `range(2, 101)` 生成了一个范围,包括2-100。
- `all(num % i != 0 for i in range(2, int(num ** 0.5) + 1))` 用了一个生成器表达式,它会检查num是否能被2到sqrt(num)之间的任何数字整除。如果num是一个质数,所有这些检查都应该返回True,因此用all()函数来检查是否所有检查都返回True。
- `int(num ** 0.5) + 1` 这是求num的平方根,我们只需要检查到这个数字就可以了,因为如果num不是质数,它一定可以分解为两个小于等于它的数字的乘积,其中至少一个小于等于它的平方根。
输出结果:
```
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
```
阅读全文