关闭

南阳oj 题目22 素数求和问题

标签: 南阳oj题目22 素数求和问题
367人阅读 评论(0) 收藏 举报
分类:

素数求和问题

时间限制: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

注:此题为    南阳oj 题目22 素数求和问题


说明:

         语言:c++  输入cin    输出 cout

         本体定义一个函数(int yjj(int a)   是素数返回 1,不是素数返回 0 ),

         判断一个数是否为素数,

         需要对1判断进行单独判断。


已AC源代码:

#include<iostream>
02.#include<cmath>
03.using namespace std;
04.int yjj(int a)
05.{
06.float n;
07.int i;
08.n=sqrt((float)a);
09.for(i=2;i<=n;++i)
10.{
11.if(a%i==0)
12.break;
13.}
14.if(n!=1&&i>n) //注意 1 不是素数
15.return 1;
16.else
17.return 0;
18.}
19.int main()
20.{
21.int M;
22.cin>>M;
23.while(M--)
24.{
25.int N,a,t,i,sum;
26.cin>>N;
27.sum=0;
28.for(i=0;i<N;++i)
29.{
30.t=0;
31.cin>>a;
32.t=yjj(a);
33.if(t)
34.sum+=a;
35.}
36.cout<<sum<<endl;
37.}
38.return 0;
39.}




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:65373次
    • 积分:3283
    • 等级:
    • 排名:第10298名
    • 原创:276篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    最新评论