素数求和

来源:互联网 发布:java里的goto 编辑:程序博客网 时间:2024/05/18 04:44

素数求和问题
时间限制:3000ms  内存限制:65535KB
描述
现在给你N个数(0<</span>N<</span>1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。
输入
第一行给出整数M(0<</span>M<</span>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<math.h>#include<assert.h>int main(){   int i,j,k;   int n,m,num;   int *array,*list;   scanf("%d",&n);   list=(int *)malloc(sizeof(int)*n);   assert(list!=NULL);   for(i=0;i<</span>n;i++)   {      scanf("%d",&m);      array=(int *)malloc(sizeof(int)*m);      assert(array!=NULL);      num=0;      for(j=0;j<m;j++)      {         scanf("%d",array+j);         for(k=2;k<=sqrt(array[j]);k++)             if(array[j]%k==0) break;         if(k>sqrt(array[j])&&array[j]!=1)             num+=array[j];      }      list[i]=num;      free(array);   }   for(i=0;i<n;i++)      printf("%d\n",list[i]);   free(list);   return 0;}//c语言初学者伤不起啊


原创粉丝点击