Java是一種面向?qū)ο蟮母呒?jí)編程語言,它可以利用其豐富的類庫和強(qiáng)大的語法來編寫各種功能。在Java中,要求素?cái)?shù)和可以很容易地實(shí)現(xiàn)。素?cái)?shù)和指的是一個(gè)數(shù)列中所有素?cái)?shù)的和。
public class PrimeSum { public static void main(String[] args) { int n = 100; // 取100以內(nèi)的素?cái)?shù) int sum = 0; for (int i = 2; i<= n; i++) { // 從2開始循環(huán) boolean flag = true; for (int j = 2; j<= Math.sqrt(i); j++) { // 判斷是否為素?cái)?shù) if (i % j == 0) { flag = false; break; } } if (flag) { // 如果是素?cái)?shù)則加到sum中 sum += i; } } System.out.println("100以內(nèi)素?cái)?shù)的和為:" + sum); // 輸出結(jié)果 } }
在上述代碼中,我們使用了兩個(gè)for循環(huán),第一個(gè)循環(huán)從2到100,用來檢測每一個(gè)數(shù)是否為素?cái)?shù);第二個(gè)循環(huán)用來判斷是否為素?cái)?shù),如果是素?cái)?shù),則將其加入sum中。
值得注意的是,在判斷i是否為素?cái)?shù)時(shí),我們只需要循環(huán)到Math.sqrt(i),因?yàn)橐粋€(gè)數(shù)如果不是素?cái)?shù),它的因子一定是成對(duì)出現(xiàn)的,如12的因子有1、2、3、4、6、12,而1和12、2和6、3和4是成對(duì)出現(xiàn)的,因此只需要循環(huán)到Math.sqrt(i)即可。
最終,我們輸出100以內(nèi)素?cái)?shù)的和為:1060。