素數是指只能被1和自身整除的自然數,如2、3、5、7等,而不包含1和任意兩個自然數的積作為自身的數,如4、6、8、9、10等均不是素數。在計算機領域中,求素數的算法是非常重要的一個話題,因為它與許多應用有關,如密碼學、數據加密、糾錯碼等等。
//Java求素數和算法 public class PrimeSum { public static void main(String[] args) { int limit = 100; int sum = 0; for(int i = 2; i<= limit; i++) { boolean isPrime = true; for(int j = 2; j<= Math.sqrt(i); j++) { if(i % j == 0) { isPrime = false; break; } } if(isPrime) { sum += i; } } System.out.println("1到" + limit + "之間的素數和為:" + sum); } }
上面的代碼是使用Java編寫的求素數和的算法。該算法使用了兩次for循環,其中外層循環用來遍歷每個數,內層循環則用來判斷當前數是否為素數。判斷素數的方法是,從2開始循環,一直到該數的平方根,看是否有能整除該數的數字,如果有則說明該數不是素數。如果沒有,則說明該數是素數,將其加入到總和中。
該算法的時間復雜度為O(n*logn),其中n為數字的個數。雖然該算法不是最優的,但它是非常通用的求素數和的算法,并且其代碼也比較簡單易懂,因此在實踐中仍然有廣泛的應用。