python使用for循环输出100以内的素数
时间: 2023-05-02 17:01:28 浏览: 144
python 实现求100之内的素数
5星 · 资源好评率100%
使用for循环输出100以内的素数可以这样实现:
```python
for i in range(2, 101):
flag = True
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
flag = False
break
if flag:
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
```
解释一下代码:
首先从2开始遍历到100(注意,范围写成101是因为range()函数是左闭右开区间,不包含101),对于每个数i,要判断它是否是素数。
判断素数的方法是用一个标志flag记录当前数是否是素数,然后从2开始遍历到i的平方根(这个是一个优化,因为如果i不是素数,那么它肯定是由两个较小的整数相乘得到的,其中一个一定小于等于它的平方根),如果在这个区间内发现了i的因子,就说明i不是素数,把flag置为False,跳出内层循环。如果flag仍然为True,就说明i是素数,输出它即可。
阅读全文