求解小于100的所有素数
时间: 2024-06-08 19:12:36 浏览: 148
第二次作业:求100以内的素数_素数_
筛选法是一种用来求解小于给定数字的所有素数的方法。它的思想是,首先假设所有的数都是素数,然后从2开始,将它的倍数标记为合数,直到遍历完所有数字。最后,剩下的没有被标记为合数的数就是素数。对于求解小于100的所有素数,可以按照以下步骤进行计算:
1. 创建一个长度为100的布尔数组is_prime,初始值都设为True,表示所有的数都是素数。
2. 从2开始,遍历数组is_prime,对于每一个数i,如果is_prime[i]为True,则将i的所有倍数(除了i本身)都标记为False,即is_prime[j] = False,其中j为i的倍数。
3. 遍历完整个数组后,剩下的数对应的is_prime值为True的就是素数。
4. 将所有素数保存在一个列表中,即prime_list,其中小于100的素数就是我们要求解的结果。
代码示例(Python):
```python
n = 100
is_prime = [True] * n
is_prime[0] = is_prime[1] = False
for i in range(2, int(n**0.5) + 1):
if is_prime[i]:
for j in range(i*i, n, i):
is_prime[j] = False
prime_list = [i for i in range(n) if is_prime[i]]
```
阅读全文