输出100以内的所有素数python
时间: 2023-05-31 16:18:14 浏览: 242
### 回答1:
以下是Python代码,可以输出100以内的所有素数:
```python
for num in range(2, 101):
for i in range(2, num):
if num % i == :
break
else:
print(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
```
### 回答2:
素数是指只能被1和自己整除的正整数,除了1之外,最小的素数是2。输出100以内的所有素数,可以使用质数筛法,也叫埃拉托斯特尼筛法。
步骤如下:
1. 新建一个列表flag,长度为101,初始化为0,表示每个数都不是素数。
2. 遍历2~100的所有数,对于每个数i,如果flag[i]等于0,表示它是素数,则标记2*i, 3*i, ..., k*i (k<=50)的所有数为非素数,即将flag[2*i], flag[3*i], ..., flag[k*i]都赋值为1。
3. 遍历2~100的所有数,如果flag[i]等于0,表示它是素数,则输出i。
下面是代码实现:
```python
flag = [0] * 101 # 初始化flag列表,长度为101
for i in range(2, 51):
if flag[i] == 0: # 如果i是素数,则标记2*i, 3*i, ..., 50*i的所有数为非素数
for j in range(2*i, 101, i):
flag[j] = 1
for i in range(2, 101):
if flag[i] == 0: # 输出所有素数
print(i, end=' ')
```
输出结果如下:
```
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
```
以上就是输出100以内所有素数的python代码实现。
### 回答3:
素数是只能被1和自己整除的正整数,因此,要输出100以内的所有素数,我们需要写一个判断素数的函数,并使用一个循环来判断从2到100之间的所有数字。
首先,我们来写一个判断素数的函数is_prime:
```
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
```
上面的函数使用了一个优化技巧:判断一个数n是否为素数,只需要判断n是否能被从2到sqrt(n)范围内的任意整数整除即可。因为如果n不能被这个范围内的整数整除,那么说明n一定是素数。
接下来,我们利用循环来输出100以内的所有素数:
```
for i in range(2, 101):
if is_prime(i):
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,对于每个数字i,判断i是否是素数,如果是素数就输出它。
以上就是输出100以内所有素数的python程序。
阅读全文