素数筛法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了素数筛法相关的知识,希望对你有一定的参考价值。

 1 #include<stdio>
 2 #define size 100002
 3 void prime(){
 4     bool a[size]={false};
 5     a[2]=true;
 6     long long i;
 7     for(i=3;i<size;i=i+2)a[i]=true;//将3以上的偶数标记为false
 8     for(i=3;i<size;i++){
 9         if(a[i]){//当i是已知最大的素数
10             long long bei=2;
11             while(bei*i<size){
12                 a[bei*i]=false;//将已知最大的素数的所有倍数都标记为false
13                 bei++;
14             }
15         }
16     }
17 }//至此size-1以内的素数已经筛选完毕

 

以上是关于素数筛法的主要内容,如果未能解决你的问题,请参考以下文章

素数筛法(Eratosthenes筛法)

练习筛法遍历素数(Java)

筛法求素数

Eratosthenes筛法 快速求素数

素数专题——素数筛法

素数筛法讲解