欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java n以內(nèi)的素?cái)?shù)的和

Java是目前世界上最流行的編程語(yǔ)言之一,自帶強(qiáng)大的數(shù)學(xué)計(jì)算能力,可以輕松地實(shí)現(xiàn)各種數(shù)學(xué)算法。其中,求$1$~$n$之間的素?cái)?shù)并計(jì)算它們的和,是一個(gè)非常常見的問(wèn)題。下面我們就來(lái)看看Java如何完成這樣的任務(wù)。

/**
 * 求1~n之間的素?cái)?shù)的和
 * @param n 上限數(shù)
 * @return 素?cái)?shù)的和
 */
public static int sumOfPrimes(int n) {
if(n< 2) {
return 0;
}
boolean[] isPrime = new boolean[n + 1];//標(biāo)記是否為素?cái)?shù)
int sum = 0;//素?cái)?shù)的和
Arrays.fill(isPrime, true);//默認(rèn)標(biāo)記為素?cái)?shù)
isPrime[0] = isPrime[1] = false;//0和1不是素?cái)?shù)
for(int i = 2; i<= n; i++) {//從2開始遍歷
if(isPrime[i]) {//如果i是素?cái)?shù)
sum += i;//加上i
for(int j = i * 2; j<= n; j += i) {//標(biāo)記i的倍數(shù)不是素?cái)?shù)
isPrime[j] = false;
}
}
}
return sum;
}

通過(guò)上面的代碼,我們可以比較輕松地實(shí)現(xiàn)求$1$~$n$之間的素?cái)?shù)并計(jì)算它們的和。代碼的核心部分就是用一個(gè)布爾型數(shù)組$isPrime$來(lái)標(biāo)記每個(gè)數(shù)是否為素?cái)?shù),初始時(shí)都標(biāo)記為素?cái)?shù)。然后從$2$開始遍歷每個(gè)數(shù),如果它是素?cái)?shù)就加入到結(jié)果中,并將它的倍數(shù)都標(biāo)記為非素?cái)?shù),下次循環(huán)時(shí)就可以跳過(guò)這些非素?cái)?shù)了。

總的來(lái)說(shuō),Java是一門非常適合數(shù)學(xué)計(jì)算的編程語(yǔ)言。在實(shí)現(xiàn)各種數(shù)學(xué)算法中,Java都能夠給我們提供非常便捷的解決方案。