(java)输入一个整数,求2~n的素数和

 可以实现功能,但代码有待优化精简,如果你有更好的建议,欢迎评论交流!

import java.util.Scanner;

public class PrimeSum {
    //求2~n的素数和
    public static void main(String[] args) {
        int i,j,sum=2;  //i,j控制循环
        boolean k;      //判断i是否为素数的变量
        System.out.println("-----求2~n的素数和------\n------请输入n的值------");
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        //外循环从2遍历到n,内循环判断i是否为素数
        for(i=2;i<=n;i++){
            k = true;
            for(j=2;j<=Math.sqrt(n);j++) {
                if (i % j == 0) k = false;
            }
            if(k) sum += i;
        }
        System.out.println("2~"+n+"的素数之和为:"+sum);
    }
}

测试运行结果:

-----求2~n的素数和------
------请输入n的值------
[输入并enter]  5
2~5的素数之和为:10

你可能感兴趣的:(Java,java,算法)