C++学习记录算法篇-埃氏筛质数
C++学习记录算法篇 埃氏筛质数
埃氏筛质数法原理:质数的倍数都不是质数,因此将质数的倍数都筛除,剩下的都是质数。
示例:
假设要筛选从1到a(a>=2)内的所有质数:
1.先设所有数均为质数(利用布尔)
2.将1设为不是质数
3.从2开始,2的倍数均不是质数;再从3开始,3的倍数均不是质数
4.此时遇到4,4在筛除2的倍数时已经被筛除,则跳过4,从5开始,以此类推筛除所有非质数
5.3,4流程重复至根号内a即可
代码示例:
1 | //以a=100为例 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!





