描述
现在给你N个数(0
输入
第一行给出整数M(0
每组测试数据第一行给你N,代表该组测试数据的数量。
接下来的N个数为要测试的数据,每个数小于1000
输出
每组测试数据结果占一行,输出给出的测试数据的所有素数和
#include
using namespace std;
int main ()
{
int n;
cin>>n;
int a[n];
int i, j, k = 0;
int flag = 1;
int b[n][10000];
int sum = 0;
for(i = 0; i < n; i++)//输入n个数据 并输入数据
{
cin>>a[i];
for(j = 0; j < a[i]; j++)
cin>>b[i][j];
}
while(k < n)//计算数据中的素数并求和
{
for(i = 0; i < a[k]; i++)
{
j = 2;
if(b[k][i] == 2)
sum += b[k][i];
else if(b[k][i] == 0 || b[k][i] == 1 || b[k][i] == 4)
sum = sum;
else
{
while(j < (b[k][i]+1)/2)//是否为素数
{
if(b[k][i] % j == 0)
{
flag = 0;
break;
}
j++;
}
if(flag)
sum += b[k][i];
flag = 1;
}
}
cout<
sum = 0;
k++;
}
}