【算法分析与设计】埃氏筛素数算法
生活随笔
收集整理的這篇文章主要介紹了
【算法分析与设计】埃氏筛素数算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 素數
- 埃氏篩
- 算法思想
- 時間復雜度
- Java編程實現
- 算法優化
素數
素數也稱質數,是指在大于1的自然數中,除了1和它本身以外不再有其他因數的自然數。
最基本的質數:2, 3, 5, 7, 11, 13, 17, 19, ……
埃氏篩
埃拉托斯特尼篩法,簡稱埃氏篩,是一種由希臘數學家埃拉托斯特尼所提出的一種簡單檢定素數的算法。
要得到自然數n以內的全部素數,必須把不大于根號n的所有素數的倍數剔除,剩下的就是素數。
算法思想
給出要篩數值的范圍n,找出以內的素數。
先用2去篩,即把2留下,把2的倍數剔除掉;
再用下一個質數,也就是3篩,把3留下,把3的倍數剔除掉;
接下去用下一個質數5篩,把5留下,把5的倍數剔除掉;
不斷重復下去…
最終,把所有不大于根號n的所有素數的倍數剔除,剩下的就是素數。
- 如果n是質數,那么2n, 3n, 4n, …這些n的倍數肯定都不是質數。
- 如果選的數要多,那么要選的每個數要盡可能小。 </
總結
以上是生活随笔為你收集整理的【算法分析与设计】埃氏筛素数算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux异步IO实现方案总结
- 下一篇: 按比例切分组合数值(洛谷P1008、P1