用Python判断101-200之间有多少个素数,并输出所有素数
时间: 2023-12-17 17:51:07 浏览: 87
好的,让我来回答你的问题。
以下是用Python判断101-200之间有多少个素数,并输出所有素数的代码:
```python
count = 0 # 记录素数的个数
prime_list = [] # 记录素数的列表
for num in range(101, 201):
for i in range(2, num):
if num % i == 0:
break
else:
count += 1
prime_list.append(num)
print("101-200之间有", count, "个素数,它们分别是:")
for prime in prime_list:
print(prime, end=" ")
```
运行结果如下:
```
101-200之间有 21 个素数,它们分别是:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
```
以上就是答案,希望能够帮到你。
相关问题
用PATHON判断101-200之间有多少个素数,并输出所有素数。
以下是判断101-200之间的素数并输出的Python代码:
```python
# 判断一个数是否为素数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 判断101-200之间有多少个素数,并输出所有素数
count = 0
for i in range(101, 201):
if is_prime(i):
count += 1
print(i)
print(f"101-200之间共有 {count} 个素数")
```
运行结果如下:
```
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
101-200之间共有 21 个素数
```
判断101-200之间有多少个素数,并输出所有素数。
这个问题可以使用筛法求解素数,这里给出一个 Python 代码实现:
```python
def count_primes(start, end):
primes = []
is_prime = [True] * (end+1)
p = 2
while p * p <= end:
if is_prime[p]:
for i in range(p*2, end+1, p):
is_prime[i] = False
p += 1
for i in range(max(start, 2), end+1):
if is_prime[i]:
primes.append(str(i))
return len(primes), ', '.join(primes)
count, primes = count_primes(101, 200)
print(f"There are {count} prime numbers between 101 and 200:\n{primes}")
```
运行结果:
```
There are 21 prime numbers between 101 and 200:
101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199
```
阅读全文