| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
google搜“线性筛法”求素数表来个java版的
boolean a[] = new boolean[N];
int p[] = new int[N];
//O(N)筛法建立素数表
Arrays.fill(a,true);
int num = 0;
for(int i = 2; i < N; ++i)
{
if(a[i]) p[num++] = i;
for(int j = 0; (j<num && i*p[j]<N); ++j)
{
a[i*p[j]] = false;
if(i%p[j]==0) break;
}
}
执行完毕之后,a[i]为true表示为素数,false表示i非素数
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator