NYOJ-22-素数求和问题

  原题地址

素数求和问题

描述
现在给你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 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 
 5 bool IsPrime(int n)
 6 {
 7     if(n<2)
 8         return false;
 9     for (int i=2; i<n; i++)
10     {
11         if (n%i==0)
12         {
13             return false;
14         }
15     }
16     return true;
17 }
18 
19 int main()
20 {
21     int n,m,sum,temp;
22     cin>>n;
23     while(n--)
24     {
25         sum=0;
26         cin>>m;
27         while(m--){
28             cin>>temp;
29             if(IsPrime(temp))
30                 sum+=temp;
31         }
32         cout<<sum<<endl;
33     }
34     return 0;
35 }

 

posted @ 2017-12-07 14:24  一点都不萌  阅读(165)  评论(0编辑  收藏  举报