素数 高速判定并打表
素数 快速判定并打表
#include<iostream> #include<cmath> using namespace std; const int N=10001; int prime[N],t=0; bool Is_or[N]; void Prime_is() { for(int i=1;i<=N;i++) Is_or[i]=1; for(int j=2;j<=sqrt(N);j++) { if(Is_or[j]) for(int k=j+j;k<=N;k+=j) Is_or[k]=0; } for(int q=1;q<=N;q++) { if(Is_or[q]) { prime[t++]=q; } } } int main() { int p; Prime_is(); for(p=1;p<t;p++) cout<<prime[p]<<" "; return 0; }