您的位置:首页 > 编程语言 > Java开发

ACM 素数求和问题 (Java)

2017-04-01 09:53 330 查看
素数求和问题

时间限制:3000 ms | 内存限制:65535 KB

难度:2

描述

现在给你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

import java.util.Scanner;

public class SuShuQiuHe {
static int[] res;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
res = new int[m];
for (int i = 0; i < m; i++) {
int n = sc.nextInt();
for (int j = 0; j < n; j++) {
int t = sc.nextInt();
if(run(t)) res[i] += t;
}
}
sc.close();

for (int i = 0; i < res.length; i++)
System.out.println(res[i]);
}

// 判断素数(大于1,且只能被1和其本身整除的整数)
static boolean run(int n){
if(n>1){
for (int i = 2; i <= Math.sqrt(n); i++)
if(n%i == 0) return false;
return true;
}
return false;
}
}




有帮助就顶一下吧 ^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: