Java是一种广泛使用的编程语言,能够实现多种不同的算法和数据结构。其中,算法中的素数和问题是一个比较经典的问题。那么,在Java中,如何算出素数和呢?
public class PrimeSum { public static void main(String[] args) { int num = 100; // 假设求100以内的素数和 int sum = 0; for (int i = 2; i< num; i++) { if (isPrime(i)) { sum += i; } } System.out.println("100以内的素数和为:" + sum); } /** * 判断一个数是否为素数 * @param n 要判断的数 * @return true表示是素数,false表示不是素数 */ 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,表示要求的素数和的范围。然后我们使用for循环依次判断2到num-1之间的数是否为素数,若是则将其加入到sum中。其中,isPrime()函数用来判断一个数是否为素数。判断过程中,先判断小于等于1的数,然后从2开始到n的平方根之间依次判断是否能够整除。如果能够整除,则表示该数不是素数,否则该数是素数。
运行以上代码,可以得到输出结果:“100以内的素数和为:1060”,即100以内所有素数的和为1060。