素数求和问题
来源:互联网 发布:视频剪切软件下载 编辑:程序博客网 时间:2024/05/23 01:24
素数求和问题
时间限制:3000 ms | 内存限制:65535 KB
难度:2
- 描述
- 现在给你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
样例输出
10
41
52
这个问题的关键在于如何判断素数,专门写个函数用来判断输入的数是否是素数:
int sushu(int p){ int i,flag=1; if(p==1) { flag = 0; } /*if(p==2&&p==3) //这里只考虑flag为0,即不是素数的情况,其他默认皆为素数 { flag = 1; }*/ for(i=2;i<=sqrt(p);i++) 从(2)开始到(p开根号),依次遍历,看p是否有其他能整除的数,有,即不是素数 { if(p%i==0) { flag=0;break; } } return flag;}
然后在主函数中,完成输入。sushu函数的调用,输出即可。。。
#include <stdio.h> //素数求和问题#include <math.h>int sushu(int p){ int i,flag=1; if(p==1) { flag = 0; } /*if(p==2&&p==3) { flag = 1; }*/ for(i=2;i<=sqrt(p);i++) { if(p%i==0) { flag=0;break; } } return flag;}int main(){ int n,m,p; scanf("%d",&n); while(n--) { scanf("%d",&m); int max=0; while(m--) { scanf("%d",&p); if(sushu(p)) { max+=p; } } printf("%d\n",max); } return 0;}
0 0
- NYOJ - 素数求和问题
- 素数求和问题
- 素数求和问题
- NYOJ22 素数求和问题
- 素数求和问题
- 素数求和问题
- 素数求和问题
- 素数求和问题
- NYOJ22 素数求和问题
- 素数求和问题
- 素数求和问题
- (22)素数求和问题
- 素数求和问题
- 素数求和问题
- NYOJ22素数求和问题
- 22 素数求和问题
- nyoj-素数求和问题
- 素数求和问题
- IBM网站是个好东西!
- Java 环境变量自动设置代码(采用批处理方法)
- cookie 与 session 的区别、联系
- Scala学习笔记之面向对象
- 解决arraycollection赋值修改过程中,出现TypeError: Error #1009: Cannot access a property or method of a null obje
- 素数求和问题
- eclipse下将java工程变成web工程
- 嵌入式 Centos开机自动挂载windows中的ntfs磁盘
- WinCE下SD卡格式化代码
- 关于Python Profilers性能分析器
- Redis命令及对应jedis操作(String)
- js响应刷新页面或者关闭页面事件
- ThinkPHP将session保存在数据库中的方法
- 嵌入式 一年成为Emacs高手(像神一样使用编辑器)