时间限制:3000 ms | 内存限制:65535 KB
难度:2
描述
现在给你N个数(0
输入
第一行给出整数M(0
输出
每组测试数据结果占一行,输出给出的测试数据的所有素数和
样例输入
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
我的代码:
#include<stdio.h>
int main() {
int m,a[1000],b[1000],i,j,k,n;
for(i=0;i<1000;i++) b[i]=1;
b[0]=0;b[1]=0;
for(i=2;i<1000;) {
for(j=i,k=i*j;k<1000;) {b[k]=0;j++;k=i*j;}
while(!b[++i]);
}
scanf("%d",&m);
while(m--) {
k=0;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
while(n>0) if(b[a[--n]]==1) k+=a[n];
printf("%d\n",k);
}
}
个人测试没问题