首页 > 代码库 > 素数打表

素数打表

#include<stdio.h>int a[2000001];int main(){    int i,j,n;    for(i=2;i<=2000000;i++)    {        if(!a[i])  //未被标记        for(j=i+i;j<=2000000;j+=i)  //素数的倍数不是素数           a[j]=1;  //标记    }    while(scanf("%d",&n),n)    {        printf("2");        for(i=3;i<=n;i++)            if(!a[i])                printf(" %d",i);        printf("\n");    }    return 0;}

 

素数打表