问题描述
完成一个程序,该程序计算n以内(包含n)的所有素数之和并返回。注意,提交完整的程序代码。
输入格式
输入一个整数 n;
输出格式
输出n以前所有素数的和。
样例输入
5
样例输出
10
小编有话说:我的思路可能会很繁琐,但里面的道理很通。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int sum=0;
int count=0;
int index=0;
//判断范围内素数个数
A: for (int i = 2; i <=a; i++) {
for (int j = 2; j <i; j++) {
if (i%j==0) {
continue A;
}
}
count++;
}
//声明存数组存素数个数
int[] sz=new int[count];
A: for (int i = 2; i <=a; i++) {
for (int j = 2; j <i; j++) {
if (i%j==0) {
continue A;
}
}
sz[index++]=i;//向数组里添加数据
}
//求素数和并输出
for (int i = 0; i < sz.length; i++) {
sum+=sz[i];
}
System.out.println(sum);
}
}