Java是一種廣泛使用的編程語言,能夠實現(xiàn)多種不同的算法和數(shù)據(jù)結構。其中,算法中的素數(shù)和問題是一個比較經(jīng)典的問題。那么,在Java中,如何算出素數(shù)和呢?
public class PrimeSum { public static void main(String[] args) { int num = 100; // 假設求100以內的素數(shù)和 int sum = 0; for (int i = 2; i< num; i++) { if (isPrime(i)) { sum += i; } } System.out.println("100以內的素數(shù)和為:" + sum); } /** * 判斷一個數(shù)是否為素數(shù) * @param n 要判斷的數(shù) * @return true表示是素數(shù),false表示不是素數(shù) */ public static boolean isPrime(int n) { if (n<= 1) { return false; } for (int i = 2; i<= Math.sqrt(n); i++) { if (n % i == 0) { return false; } } return true; } }
代碼中,首先我們定義一個變量num,表示要求的素數(shù)和的范圍。然后我們使用for循環(huán)依次判斷2到num-1之間的數(shù)是否為素數(shù),若是則將其加入到sum中。其中,isPrime()函數(shù)用來判斷一個數(shù)是否為素數(shù)。判斷過程中,先判斷小于等于1的數(shù),然后從2開始到n的平方根之間依次判斷是否能夠整除。如果能夠整除,則表示該數(shù)不是素數(shù),否則該數(shù)是素數(shù)。
運行以上代碼,可以得到輸出結果:“100以內的素數(shù)和為:1060”,即100以內所有素數(shù)的和為1060。