計算兩個整數之間的素數和是一個常見的問題。Java語言提供了豐富的數學函數庫,可以方便地實現該功能。
public static int primeSum(int m, int n) { int sum = 0; for (int i = m; i<= n; i++) { boolean isPrime = true; for (int j = 2; j<= Math.sqrt(i); j++) { if (i % j == 0) { isPrime = false; break; } } if (isPrime && i != 1) { sum += i; } } return sum; }
由上述代碼可見,需要定義一個primeSum方法,該方法有兩個整型參數m和n,代表要計算素數和的區間范圍。方法體中使用for循環遍歷區間范圍內每一個數字,然后再使用一個for循環判斷該數字是否為素數。
判斷素數的方法為:從2開始一直到該數字的平方根,依次判斷該數字是否可以整除每一個因子,如果可以整除,那么該數字不是素數,直接中斷循環。如果所有因子都不能整除,則該數字為素數,將其加入素數和中,返回素數和。
在代碼中還有一點需要注意的是,1不是素數,需要進行排除。
使用上述方法可以方便地計算任意區間范圍內的素數和,且代碼耗時較短,因此在實際開發中得到廣泛應用。