淘先锋技术网

首页 1 2 3 4 5 6 7

Java是一门非常流行的编程语言,其强大的功能和无穷无尽的应用场景吸引了无数程序员的关注。其中,求n以内素数和是一项非常基础而重要的编程任务,下面我们就来看看如何用Java实现这个功能。

/**
 * 求n以内素数和
 * @param n 上限
 * @return 素数和
 */
public static long sumOfPrimes(int n) {
boolean[] isPrime = new boolean[n + 1];
Arrays.fill(isPrime, true);
long sum = 0;
for (int i = 2; i<= n; i++) {
if (isPrime[i]) {
sum += i;
for (int j = i * i; j<= n; j += i) {
isPrime[j] = false;
}
}
}
return sum;
}

上面这段代码实现了求n以内素数和的功能,可以运用于各种Java程序中。首先我们定义了一个布尔类型的数组isPrime,数组下标表示数字,数组元素表示该数字是否是素数。然后我们使用Arrays类中的fill方法将isPrime数组全部初始化为true。

接着我们定义了一个long类型的变量sum,用于保存素数的和。我们使用两个循环分别遍历数字和它的倍数,如果发现某个数字是素数,则加上该数字并将其所有倍数标记为非素数。最终返回sum即可。

总之,求n以内素数和是一项非常实用的编程任务,使用Java语言可以轻松实现。以上就是我们分享的Java求n以内素数和的代码,希望能够帮助到大家。