求小于n的质数的个数——埃拉托斯特尼筛法
问题描述
给定一个非负数n,求小于n的质数的个数。
算法描述
在本题中,我们采用埃拉托斯特尼筛法,详细列出算法如下:
- 从2开始遍历到根号n;
- 先找到第一个质数2,然后将其所有的倍数全部标记出来;
- 然后到下一个质数3,标记其所有倍数,依次类推,直到根号n;
- 此时数组中未被标记的数字就是质数。
效果图如下:
下面给出ruby和python代码实现:
1 | !#/usr/bin/ruby |
1 | !#/usr/bin/python |
给定一个非负数n,求小于n的质数的个数。
在本题中,我们采用埃拉托斯特尼筛法,详细列出算法如下:
效果图如下:
下面给出ruby和python代码实现:
1 | !#/usr/bin/ruby |
1 | !#/usr/bin/python |