1. 程式人生 > >南陽理工ACM 題目22 素數求和問題

南陽理工ACM 題目22 素數求和問題

素數求和問題

時間限制: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.io.*;
import java.util.*;

public class Main {
	
	public static boolean IsPrimer(int x){
		boolean Primer = true;
		if(x==1||x==0)
			Primer = false;
		for(int i=2;i<x;i++){
			if(x%i==0)
				Primer = false;
		}
		return Primer;
	}
	
	public static void main(String[] args) {
				Scanner cin = new Scanner(new BufferedInputStream(System.in));	
				int N = cin.nextInt();
				while(N>0){
					int num = cin.nextInt();
					int sum = 0;
					int[] m = new int[num];
					for(int i=0;i<num;i++)
						m[i] = cin.nextInt();
					for(int i:m){
						if(IsPrimer(i))
							sum = sum+i;
					}
					System.out.println(sum);
					N--;
				}
	}	 
}