天天看點

構造素數表,列印100以内的素數-java

package com.company;

import javafx.scene.SceneAntialiasing;

import java.util.Scanner;

public class Main {
        //列印100(不含100)以内的所有素數
    public static void main(String[] args) {
       boolean[] isPrime =new boolean[100];
       //給布爾數組初始化為true
       for(int i=0;i< isPrime.length;i++)
       {
           isPrime[i]=true;
       }
       //素數的倍數都标記為false
       for(int i=2;i< isPrime.length;i++)
       {
           //進入這一步之前,先檢查是否已經被标記為false
           if(isPrime[i])
           {
               for (int k = 2; i * k < isPrime.length; k++)
               {
                   isPrime[i * k] = false;
               }
           }
       }
       //列印布爾數組中true的下标,注意從i=2開始
       for(int i=2;i< isPrime.length;i++)
       {
           if(isPrime[i])
           {
               System.out.println(i);
           }
       }
    }
}