NYOJ:22-素数求和问题

来源:互联网 发布:eclipse怎么写sql语句 编辑:程序博客网 时间:2024/05/22 09:47

时间限制:3000 ms | 内存限制:65535 KB
难度:2

描述
现在给你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

代码:

#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){    int judge(int k);    int n,a,k,i,b,sum;    int num[1000];    scanf("%d",&n);    while(n--)    {        sum=0;        scanf("%d",&a);        for(i=0; i<a; i++)        {            scanf("%d",&b);            num[i]=b;        }        for(i=0; i<a; i++)        {            // printf("%d%d\n",num[i],judge(num[i]));            if(judge(num[i])==0&&num[i]!=1)                sum+=num[i];        }        printf("%d\n",sum);    }    return 0;}int judge(int k){    int i,j;    for(i=2; i<k; i++)    {        if(k%i==0)            return 1;    }    return 0;}