Java找最大質數

在Java中,你可以使用以下代碼來找到一個範圍內的最大質數:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("請輸入一個範圍:");
        int range = scanner.nextInt();
        scanner.close();

        int maxPrime = 0;
        for (int i = 2; i <= range; i++) {
            boolean isPrime = true;
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                if (i > maxPrime) {
                    maxPrime = i;
                }
            }
        }
        System.out.println("在範圍內的最大質數是:" + maxPrime);
    }
}

這段代碼首先要求用戶輸入一個範圍,然後遍歷從2到該範圍的所有整數。對於每個數字,我們檢查它是否是質數。如果一個數字是質數,我們檢查它是否比我們已經找到的最大質數更大。如果是這樣,我們更新最大質數的值。

請注意,這個算法的時間複雜度是O(n^2),因為對於每個數字,我們都需要檢查它是否是質數,這可能需要O(n)次操作。如果你需要查找非常大範圍內的質數,你可能需要使用更高效的算法,例如Miller-Rabin質數檢測算法。