思路
比如构造100以内的素数表,把100以内的非素数标记出来,剩下的就是非素数了。那么怎么标记呢?我们知道素数的倍数一定不是素数,所以就从2开始把2的倍数都标记,然后从3开始把其倍数标记,以此类推直到100为止。
public class Main {
public static void main(String[] args) {
boolean[] isprime=new boolean[100];
for(int i=0;i<isprime.length;i++)
isprime[i]=true;
for(int i=2;i<isprime.length;i++)
{
if(isprime[i])
{
for(int k = 2; i*k<isprime.length; k++)
{
isprime[i*k] = false;
}
}
}
for(int i = 2; i<isprime.length; i++)
{
if(isprime[i])
System.out.print(i+" ");
}
}
}