7. 编写程序,输出1-100之间所有素数。易错点
时间: 2024-02-16 12:00:31 浏览: 90
Day03_java_
好的,以下是 Python 代码实现:
```python
for num in range(1, 101):
if all(num % i != 0 for i in range(2, int(num ** 0.5) + 1)):
print(num)
```
解释一下代码:
- `range(1, 101)` 表示从1到100,包含1不包含101。
- `all()` 函数用于判断一个可迭代对象中的所有元素是否都为 True,如果是则返回 True,否则返回 False。
- `num % i != 0` 判断 num 是否能被 i 整除,如果不能则返回 True,否则返回 False。
- `range(2, int(num ** 0.5) + 1)` 表示从2到num开根号向上取整后的整数,这是因为一个数如果有因子,那么其中一定有一个因子小于等于它的开根号,所以我们只需要判断到它的开根号即可。
易错点:
- 注意判断素数的条件是不能被大于1且小于自身的整数整除,所以要从2开始判断。
- 在判断是否是素数的时候,要将范围限制在2到其开根号向上取整后的整数之间,否则会有重复判断,影响程序效率。
阅读全文