用数据结构判断100-200之间有多少个素数,并输出所有素数
时间: 2024-11-29 07:32:35 浏览: 17
4.2 100~200_labview_
5星 · 资源好评率100%
要判断100到200之间的素数并输出,我们可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes),这是一种经典算法,用于寻找一定范围内的所有质数。下面是基本步骤:
1. 创建一个布尔数组isPrime,长度从2到200,初始值设为true,表示所有数字都是潜在的质数。
2. 遍历数组,从第一个质数(即2)开始,将它的倍数标记为非质数。例如,找到第一个质数2,然后把4、6、8...都标记为非质数。
3. 继续查找下一个未被标记为非质数的数,这是下一个质数,继续这个过程,直到遍历完所有小于等于200的数。
4. 在遍历过程中,对于当前的索引i,如果isPrime[i]仍然是true,那么i就是该范围内的一个素数。
以下是Python代码实现:
```python
def find_primes(start, end):
is_prime = [True] * (end + 1)
is_prime[0], is_prime[1] = False, False
for i in range(2, int(end ** 0.5) + 1):
if is_prime[i]:
for j in range(i * i, end + 1, i):
is_prime[j] = False
primes = []
for i in range(start, end + 1):
if is_prime[i]:
primes.append(i)
return len(primes), primes
start, end = 100, 200
count, prime_numbers = find_primes(start, end)
print(f"在 {start} 到 {end} 之间有 {count} 个素数:")
for number in prime_numbers:
print(number)
阅读全文