素数求和问题
描述现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。
- 输入
- 第一行给出整数M(0<M<10)代表多少组测试数据
每组测试数据第一行给你N,代表该组测试数据的数量。
接下来的N个数为要测试的数据,每个数小于1000 - 输出
- 每组测试数据结果占一行,输出给出的测试数据的所有素数和
- 样例输入
-
3 5 1 2 3 4 5 8 11 12 13 14 15 16 17 18 10 21 22 23 24 25 26 27 28 29 30
- 样例输出
-
10 41 52
1 import java.util.Scanner; 2 3 class Sushu{ 4 public boolean sushu(int number){ 5 int i; 6 int flag; 7 8 if(number<2) 9 return false; 10 11 flag=0; 12 for(i=2;i*i<=number;i++){ 13 if(number%i==0){ 14 flag=1; 15 break; 16 } 17 } 18 19 if(flag==0) 20 return true; 21 22 else 23 return false; 24 } 25 } 26 27 public class Main { 28 public static void main(String[] args) { 29 int T; 30 Scanner scanner=new Scanner(System.in); 31 int n; 32 int i; 33 int number; 34 int sum; 35 Sushu judgeSushu=new Sushu(); 36 37 T=scanner.nextInt(); 38 while(true){ 39 if(T==0) 40 break; 41 T--; 42 43 n=scanner.nextInt(); 44 45 sum=0; 46 for(i=1;i<=n;i++){ 47 number=scanner.nextInt(); 48 49 if(judgeSushu.sushu(number)==true) 50 sum+=number; 51 } 52 System.out.println(sum); 53 } 54 } 55 }