题目26: 孪生素数问题
来源:互联网 发布:双喇叭营销软件 编辑:程序博客网 时间:2024/06/05 16:26
孪生素数问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 写一个程序,找出给出素数范围内的所有孪生素数的组数。一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数。有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数。
- 输入
- 第一行给出N(0<N<100)表示测试数据组数。
接下来组测试数据给出m,表示找出m之前的所有孪生素数。
(0<m<1000000) - 输出
- 每组测试数据输出占一行,该行为m范围内所有孪生素数组数。
- 样例输入
114
- 样例输出
4
/********************************* * 日期:2013-3-14 * 作者:SJF0115 * 题号: 南阳理工 题目26: 孪生素数问题 * 来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=26 * 结果:AC * 来源: * 总结: **********************************/#include<stdio.h>#include<math.h>int prime[1000001];//素数表int Primes(int n){ int i,j; for(i = 1;i <= n;i++){ //偶数if(i % 2 == 0){ prime[i] = 0; }//奇数else{prime[i] = 1;} }//奇数的倍数肯定不是素数for(i = 3;i <= sqrt(n);i+=2){if(prime[i]){for(j = i+i;j <= n;j += i){prime[j] = 0;}}} return 0;} int main(){int N,M,count,i; while(scanf("%d",&N) != EOF){while(N--){count = 0;scanf("%d",&M);//求素书Primes(M);//求孪生素数for(i = 2;i <= M-2;i++){if(prime[i] && prime[i+2]){count++;//printf("%d %d\n",i,i+2);}}//两个素数相邻为1的也成为孪生素数。这样的只有一种情况2,3if(M >= 3){count++;}printf("%d\n",count);}}return 0;}
注意:
接下来组测试数据给出m,表示找出m之前的所有孪生素数。
但实际上包括m这个数。
测试用例:
m = 7
孪生素数:
2,3
3,5
5,7
- 题目26: 孪生素数问题
- 题目26:孪生素数问题
- NYOJ 题目26 孪生素数问题
- 26 孪生素数问题
- NYOJ 题目26 孪生素数问题(打表)
- nyoj 26-孪生素数问题
- NYOJ 26 孪生素数问题
- NYOJ 26 孪生素数问题
- NYOJ 26 孪生素数问题
- nyoj 26 孪生素数问题
- nyoj 26 孪生素数问题
- NYOJ 26 孪生素数问题
- NYOJ 26 孪生素数问题
- 孪生素数问题 nyoj 26
- nyoj 26 孪生素数问题
- nyoj 26 孪生素数问题
- NYOJ-26 孪生素数问题
- NYOJ 26孪生素数问题
- android 项目红色叹号
- Java异常处理---finally和return的执行顺序
- 基于.NET 并行库写的对象池
- OpenGL、OpenGL ES、OpenVG、GLX、EGL简介
- MFC处理回车窗口消失
- 题目26: 孪生素数问题
- VS2010 VS2012 的快捷键
- Linux中的常用数据结构详解
- Android点亮屏幕或屏幕解锁和锁定以及其他相关权限实现代码
- Ext中关于GridPanel中的复选框的个数问题
- Oracle 字符集的查看和修改
- Java常用类型定义、转换
- Android中自定义属性的格式详解
- 高强度信息安全平台商业计划书