经典算法求大范围内素数

来源:互联网 发布:linux技术手册 第六版 编辑:程序博客网 时间:2024/06/04 22:57

     经典算法求素数

问题解析:利用一个范围大数组a【100000000】,x不是素数,则a【x】=2;如果x是素数那么a【x】=1;

a[2]=1;                                //初始化

for (i=3;i<1000000;i++)               //初始化
  {
   a[i++]=1;
   a[i]=2;
  }

 
  for (i=3;i<=500000;i++)
  {
   if (a[i]==2)
   {
    continue;
   }
   for (j=i+i;j<=1000000;j+=i)
   {
    a[j]=2;
   }
   }

完后,只要判断a【x】是否为1,是则为素数,否则不是即可!

原创粉丝点击