质数——筛选法

Posted 风少凌云

tags:

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

筛数法求素数

  筛数法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。

  public void printPrimes(int n){

  //定义arr数组来表示筛选出来的素数

  boolean arr[] = new boolean[n];

  //arr数组坐标i不是素数的话就令arr[i]=false

  for(int k=2;k<N;K++){< p>

  if(!arr[k]){

  for(int i=2*k;i< p>

  arr[i] =false;

  }

  }

  }

  //把求的素数放入数组a中。

  for(int i=1;i<N;I++){< p>

  if(arr[i]){

  System.out.println(i);

  }

  }

  }

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

Pascal语言,用筛选法求出2~1000的质数

素数筛选法

关于埃拉托色尼筛选法的整理(质数问题)

LQ0096 质数试除法

每日一小练——Eratosthenes 筛选法

线性筛选(埃拉托斯特尼筛法升级版欧拉筛法)