簡體   English   中英

Java 2d Array Matrix Program(素數之和)

[英]Java 2d Array Matrix Program(Sum of Prime Numbers)

for(i=2;i<=5;i++) {
        for(j=2;j<=(i/2);j++) {
            if(i%j== 0) {
                j=i;
                break;
            }
        }
        if(i!=j) {
            sum +=i;            
        }
    }
    System.out.println("The sum of all prime numbers is : "+sum);

當我運行我的程序時,我想要實現的是所有素數的總和,我正在使用這段代碼,但總和並不是我認為的那樣。 總和比我預期的要大。 我嘗試重寫和更改一些,但結果是原樣。 其他信息:矩陣從 0-9 隨機化,它是一個 (5x5)2D 數組。

您應該考慮數組元素從 0 到 9 隨機化的具體要求,因此您必須檢查以下 10 以下的素數:[2, 3, 5, 7]。

然后迭代矩陣並求和所有素數:

private static boolean isPrimeBelow10(int x) {
    return x == 2 || x == 3 || x == 5 || x == 7;
}

public static int sumPrimes(int[][] arr) {
    int sum = 0;
    for (int i = 0; i < arr.length; i++) {
        for (int j = 0; j < arr[i].length; j++) {
            if (isPrimeBelow10(arr[i][j])) {
                sum += arr[i][j];
            }
        }
    }
}

如果您需要處理較大的元素,則必須維護一個可擴展的素數列表,並根據需要向其中添加新元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM