输出前50个素数

2018-10-31  本文已影响10人  Joypang

传统方法

 import java.util.Scanner;
public class tptj {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
     int[] primes=new int [50];
     primes[0]=2;
     int cnt=1;//cnt不但表示拥有多少个素数,而且表达的是下一个素数写进来的位置
     MAIN_LOOP:
    for(int x=3;cnt<primes.length;x++)
    {
        for(int i=0;i<cnt;i++)
        {
            if(x%primes[i]==0)
            {
                continue MAIN_LOOP;
            }
        }
        primes[cnt++]=x;
    }
     for(int k:primes)
     {
         System.out.print(k+" ");
     }
    }

构造素数表

 import java.util.Scanner;
public class tptj {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        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.println(i+" ");
            }
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读