判断101-200之间有多少个素数,并输出所有素数。用python while循环
时间: 2023-04-06 11:00:57 浏览: 136
有关计算和编程的问题,我可以回答。请看下面的代码,它可以判断101-200之间有多少个素数,并输出所有素数。
```python
i = 101
while i <= 200:
j = 2
while j <= i:
if i % j == 0:
break
j += 1
if j == i:
print(i)
i += 1
```
输出结果为:
```
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
```
相关问题
python编写函数,判断101-200之间有多少素数,并输出所有素数
在Python中,我们可以编写一个函数来找出101到200之间的素数。首先,我们需要了解什么是素数:素数是指大于1的自然数,除了1和它本身以外不再有其他因数的数。
下面是一个简单的函数,用于找到并打印这个范围内的素数:
```python
def is_prime(n):
if n <= 1:
return False
elif n <= 3:
return True
elif n % 2 == 0 or n % 3 == 0:
return False
i = 5
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6
return True
def find_primes(start, end):
primes_in_range = []
for num in range(start, end + 1):
if is_prime(num):
primes_in_range.append(num)
print(f"在 {start} 到 {end} 之间,共有 {len(primes_in_range)} 个素数:")
print(primes_in_range)
find_primes(101, 200)
```
在这个`find_primes`函数中,我们遍历指定范围内的每个数字,通过`is_prime`函数检查它们是否为素数。如果找到素数,则将其添加到列表中,最后打印出素数的数量及所有素数。
判断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
```
阅读全文