1. 程式人生 > >【Java】求1到100以內的素數(質數)

【Java】求1到100以內的素數(質數)

      雖然我們都知道質數的概念:質數又稱素數,是指一個大於1的自然數中,除了1和其自身外,沒法被其他自然數整除的數。我當時蒙圈了,都是哪些數字嘛我還能一一說出來,至於多少個嘛,數一數就好了。可是求和就浪費時間了。 後來身為小白的我剛接觸JAVA這個行業,我也遇到求素數的題目。發現我在網上搜索答案的時候發現一些程式碼沒有優化就提交了。我學習JAVA也有一個來月了,回頭再看看我寫的程式碼感覺效率好慢也是沒有優化。在當時學習到的一些小知識點竟然沒有運用。現在我也想分享一下我簡單優化後的程式碼,後期還能優化就更好了:

public static void main(String[] args) {

   int count = 0;
   int sum = 0;
  for (int i = 2; i <= 100; i++) {
    boolean flag = false;
    for (int j = 2; j <= i >> 1; j++) {
     if (i % j == 0) {
        flag = true;
        break;
      }
  }
  if (!flag) {
    System.out.print(i + " ");
    sum += i;
    count++;
    }
  }
  System.out.println();
  System.out.println("1--100之間的素數(也稱質數)的個數 -->"+count);
  System.out.println("1--100之間的素數(也稱質數)的個數之和 -->"+sum);
}