习 自 四、计算质数 给定整数n,获取所有小于等于n的质数的数量 示例: 输入:n=100 输出:25个质数
时间: 2024-12-19 21:19:18 浏览: 13
JS实现计算小于非负数n的素数的数量算法示例
在计算质数的问题中,质数是指大于1的自然数,除了1和它本身以外不再有其他因数的数。对于给定的整数`n`,我们通常会采用一种高效的算法来找出所有小于等于`n`的质数。最简单的做法是从2开始遍历到`n`,对每个数检查是否为质数。
这里是一个基本的步骤:
1. 创建一个计数器来存储质数的数量,初始化为0。
2. 遍历从2到`n`(包括`n`),对每一个当前的数i:
- 如果i不大于1,则跳过,因为1不是质数。
- 检查从i的平方根向下取整的数j(因为如果j*i > n,那么就不需要再检查i的倍数了,所有的倍数都已经被之前的较小值覆盖)。
- 如果j乘以i等于i,说明i是质数,将计数器加1。
3. 遍历结束后,返回计数器的值就是小于等于`n`的质数的数量。
示例代码(Python):
```python
def count_primes(n):
if n < 2:
return 0
primes = 0
for i in range(2, int(n**0.5) + 1):
if all(i % j != 0 for j in range(2, int(i**0.5) + 1)):
primes += 1
return primes
```
阅读全文