【Java】求1到100以內的素數(質數)
阿新 • • 發佈:2019-02-09
雖然我們都知道質數的概念:質數又稱素數,是指一個大於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); }