题目22-素数求和问题

来源:互联网 发布:sql注入绕过单引号 编辑:程序博客网 时间:2024/06/06 19:16

素数求和问题

描述

现在给你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<math.h>int is_prime(int x){    int i,k;    if(x==0||x==1)        return 0;    k=sqrt(x);    for(i=2;i<=k;i++)        if(x%i==0)            return 0;    if(x>k)        return 1;    return 0;}int main(){    int n,m,a,i,sum;    scanf("%d",&n);    while(n--)    {        scanf("%d",&m);        sum=0;        for(i=0;i<m;i++)        {            scanf("%d",&a);            if(is_prime(a))                sum+=a;        }        printf("%d\n",sum);    }    return 0;}

原创粉丝点击