一行python代码求100以内素数
时间: 2023-04-01 17:01:39 浏览: 86
我可以回答这个问题。以下是一行 Python 代码,可以求出 100 以内的素数:
```python
print([x for x in range(2, 101) if all(x % y != for y in range(2, int(x ** .5) + 1))])
```
输出结果为:
```python
[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]
```
相关问题
Python求100以内素数
以下是Python代码:
```python
for i in range(2, 101):
for j in range(2, i):
if i % j == 0:
break
else:
print(i)
```
这段代码可以输出100以内的素数,每一行输出一个。
Python一行输出N以内的素数
以下是Python代码:
```python
N = 100
primes = [2] + [i for i in range(3, N + 1, 2) if all(i % j != 0 for j in range(3, int(i ** 0.5) + 1, 2))]
print(primes)
```
输出结果为:
```
[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]
```
解释一下上面的代码:
- 首先,设定一个最大值N;
- 然后,生成一个列表,其中包含2和所有奇数;
- 最后,使用all()函数来判断每个数是否为素数。具体做法是,用range()函数生成一个包含3到i开平方根的奇数的列表(注意,只需要判断到开平方根即可,因为大于开平方根的因子已经在前面判断过了),然后用all()函数来判断i是否能被这些数整除。如果i不能被整除,则i为素数,加入primes列表。