南陽理工ACM 題目22 素數求和問題
阿新 • • 發佈:2019-01-27
素數求和問題
時間限制:3000 ms | 記憶體限制:65535 KB 難度:2 描述 現在給你N個數(0<N<1000),現在要求你寫出一個程式,找出這N個數中的所有素數,並求和。- 輸入
- 第一行給出整數M(0<M<10)代表多少組測試資料
每組測試資料第一行給你N,代表該組測試資料的數量。
接下來的N個數為要測試的資料,每個數小於1000 - 輸出
- 每組測試資料結果佔一行,輸出給出的測試資料的所有素數和
- 樣例輸入
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--; } } }