首页 > 代码库 > 不大于N的所有素数

不大于N的所有素数

算法如下:

#include<stdio.h>#include<math.h>void Sieve(int n){    int p,j,i;    int A[n+1],L[n+1];    for(p=2;p<=n;p++)        A[p]=p;    for(p=2;p<=sqrt(n);p++)    {        if(A[p]!=0)        {            j=p*p;            while(j<n)            {                A[j]=0;                j=j+p;            }        }    }    i=0;    for(p=2;p<=n;p++)    {        if(A[p]!=0)        {            L[i]=A[p];            i++;        }    }    for(p=0;p<i;p++)        printf("%d ",L[p]);    printf("\n");}void main(){    Sieve(25);}