首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 找出大於 200 的最小質數:while/do-while 循環實現

     編輯:程式設計疑難解答

經典算法練習:找出大於 200 的最小質數。採用「從 201 開始向上嘗試,判斷質數,找到即停止」的思路,配合 while(true) 無限循環 + break 跳出最簡潔。

完整可運行代碼

public class MinPrimeOver200 {
    public static void main(String[] args) {
        int n = 201;
        while (true) {
            boolean isPrime = true;
            // 優化:只需試除到 sqrt(n),此處為教學簡化用 n/2
            for (int i = 2; i <= n / 2; i++) {
                if (n % i == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) break;
            n++;
        }
        System.out.println("大於 200 的最小質數:" + n); // 輸出 211
    }
}

關鍵點解析

  1. 外層 while(true):無限遞增候選數,找到質數用 break 終止;
  2. 內層試除法:從 2 除到 n/2(實際工程用 Math.sqrt(n) 更快);
  3. 布爾旗標:isPrime 記錄是否整除,避免多層 break 混淆。

在線驗證

可直接複製到 Ideone 執行,輸出 211。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved