素数求和

来源:互联网 发布:wim10系统图标网络关闭 编辑:程序博客网 时间:2024/06/08 19:57

素数求和问题

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
描述
现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。
输入
第一行给出整数M(0<M<10)代表多少组测试数据
每组测试数据第一行给你N,代表该组测试数据的数量。
接下来的N个数为要测试的数据,每个数小于1000
输出
每组测试数据结果占一行,输出给出的测试数据的所有素数和
样例输入
351 2 3 4 5811 12 13 14 15 16 17 181021 22 23 24 25 26 27 28 29 30
样例输出
1041

52


输出:

#include<iostream>
#include<iomanip>
using namespace std;
bool is_primer(int n)
{
    if(n==1)
        return false;
    else
        for(int i=2;i<n;i++)
        if(n%i==0)
        return false;
    return true;
}
int main()
{
   int t,n,a[1005];
   cin>>t;


   while(t--)
   {
       cin>>n;int sum=0;
       for(int i=0;i<n;i++)
       {
            cin>>a[i];
            if(is_primer(a[i])==true)
                sum+=a[i];
       }
       cout<<sum<<endl;
   }
}

0 0
原创粉丝点击