码迷,mamicode.com
首页 > 其他好文 > 详细

NYOJ 22 素数求和问题

时间:2015-08-30 19:34:22      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:acm

描述
现在给你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 <iostream>
#include <cstring>
#include <cmath>

using namespace std;

int main()
{
	int n, m,i,j,l;

	int dp[1001];
	memset(dp, 0, sizeof(dp));
	dp[2] = 1;

	for (i = 2; i <= 1000; i++)
	{
		if (i % 2)
			dp[i] = 1;
	}

	for (j = 3; j <= sqrt(1000); j += 2)
	{
		if (dp[j])
		{
			for (l = j * 2; l <= 1000; l += j)
				dp[l] = 0;
		}
	}
/*

	for (i = 0; i <= 1000; i++)
	{
		if (dp[i])
			cout << i << endl;
	}
*/

	cin >> n;
	while (n--)
	{
		cin >> m;
		l = 0;
		for (i = 0; i < m; i++)
		{
			cin >> j;
			if (dp[j])
				l += j;
		}
		cout << l << endl;
	}

	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

NYOJ 22 素数求和问题

标签:acm

原文地址:http://blog.csdn.net/u011694809/article/details/48107327

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!