如何计算从100到500之间的素数的个数?
时间: 2024-12-15 07:14:32 浏览: 4
计算从100到500之间的素数个数,你可以使用一种常见的算法——埃拉托斯特尼筛法(Sieve of Eratosthenes)。以下是基本步骤:
1. 创建一个布尔数组,大小为501(包括100和500),并将所有元素初始化为`true`,表示它们都是潜在的素数。
2. 首先将索引为2的值设为`false`,因为2是最小的素数。
3. 接下来,遍历从2开始的所有质数,对于每个质数i,将其倍数(除了它本身)标记为非素数。例如,从`i * i`开始,每次加i,直到大于500。
4. 继续寻找下一个未被标记为非素数的数字,这就是下一个质数。
5. 当遍历结束后,数组中仍然为`true`的元素对应的数值即为素数。
在Python中,可以编写如下的代码实现这一过程:
```python
def count_primes(start, end):
is_prime = [True] * (end + 1)
is_prime[0] = is_prime[1] = False
for num in range(2, int(end**0.5) + 1):
if is_prime[num]:
for multiple in range(num*num, end+1, num):
is_prime[multiple] = False
return sum(is_prime[start:end])
# 计算100到500之间的素数个数
prime_count = count_primes(100, 500)
```
阅读全文