nyoj-素数求和问题

/*素数求和问题
时间限制: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>
int
a[1000]={1,1,0,0,0};
void f()
{
int i,j;

for(i=2;i<100;i++)
{
if(a[i]==0)

for(j=i*i;j<=1000;j+=i)
a[j]=1;
}
}
int
main()
{
int m;
f();
scanf("%d",&m);

while(m--)
{
int b,c,d,sum=0;
scanf("%d",&b);

for(c=1;c<=b;c++)
{
scanf("%d",&d);

if( a[d]==0)
sum=sum+d;}

printf("%d\n",sum);
}
return 0;
}

时间: 2024-10-12 02:03:26

nyoj-素数求和问题的相关文章

素数求和问题

素数求和问题 时间限制: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

2014-4-25 运行号:837134 素数求和

#include <iostream>#include <cstdio>#include <cstdlib>#include <string>#include <cmath>#include <cstring>#include <algorithm>using namespace std;bool pre_arry[1100];void pre_cnt() //素数筛{    memset(pre_arry,1,sizeo

素数求和

#include <iostream> using namespace std; int fun(int a) { if(a==1) return 0; for(int i=2;i<a;i++) { if(a%i==0) return 0; } return 1; } int main() { int x,M,N; cout<<"测试数据组数: "; cin>>M; while(M--) { int i,sum=0; cout<<&

梦工场实验室 素数求和 神奇的素数筛选

问题 G: 素数求和 时间限制: 1 Sec  内存限制: 256 MB提交: 142  解决: 30[提交][状态][讨论版] 题目描述 输入一个自然数n,求小于等于n的素数之和 输入 输出 样例输入 2 样例输出 2 提示 测试样例保证 2 <= n <= 2,000,000 埃拉托斯特尼筛法(Sieve of Eratosthenes) #include<stdio.h> #include<string.h> #include<stdlib.h> #i

nyist 22 素数求和

#include<stdio.h>int main(){int m,n,i,j,a,b;scanf("%d\n",&m);while(m--) // m组数据 { int sum=0; scanf("%d\n",&n); // 某一组 n个数 for(i=0;i<n;i++){ scanf("%d",&a); //分别输出这 n个数 变量afor(j=2;j<=a-1;j++) // 素数判定 if

南阳理工OJ之素数求和问题

---------------------------------------------- AC代码: 1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 7 preprocess(); 8 9 Scanner sc=new Scanner(System.in); 10 11 int times=sc.nextInt(); 12 while(time

NYOJ 22 素数求和问题

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

NYOJ题目22 素数求和

题目描述: 现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和.输入第一行给出整数M(0<M<10)代表多少组测试数据每组测试数据第一行给你N,代表该组测试数据的数量.接下来的N个数为要测试的数据,每个数小于1000输出每组测试数据结果占一行,输出给出的测试数据的所有素数和样例输入351 2 3 4 5811 12 13 14 15 16 17 181021 22 23 24 25 26 27 28 29 30样例输出104152 #inc

NYoj 素数环(深搜入门)

题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=488 深搜模板: 1 void dfs(int 当前状态) 2 { 3 if(当前状态为边界状态) 4 { 5 记录或输出 6 return; 7 } 8 for(i=0;i<n;i++) //横向遍历解答树所有子节点 9 { 10 //扩展出一个子状态. 11 修改了全局变量 12 if(子状态满足约束条件) 13 { 14 dfs(子状态) 15 } 16 恢复全局变量//回

nyoj 素数距离

素数距离问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度.如果左右有等距离长度素数,则输出左侧的值及相应距离.如果输入的整数本身就是素数,则输出该素数本身,距离输出0 输入 第一行给出测试数据组数N(0<N<=10000)接下来的N行每行有一个整数M(0<M<1000000), 输出 每行输出两个整数 A B.其中A表示离相应测试数据最近的素数,B表示其间的距离.