00-自测2. 素数对猜想 (20)
2015-05-31 09:30
295 查看
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
输出样例:
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
------------------------------------------------------------------------------
//基本思路就是,调用函数判断当前数字和下一个数字是不是素数,如果是,则分别存于p和q当中,下一次更新时,将q赋值给p,q重新被赋值为新的素数,判断q-p==2
import java.util.Scanner; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int m = in.nextInt(); boolean flag = false; int count = 0; int p = 0; int q = 2; for(int i = 3;i<=m;i++){ flag = isprime(i); if(flag){ p = q; q = i; if(q-p ==2 ){ count ++; } } } System.out.print(count); } private static boolean isprime(int i) { // TODO Auto-generated method stub boolean flag = true; int k = (int) Math.sqrt(i); for(int j=2;j<=k;j++){ if(i%j==0){ flag = false; } } return flag; } }
相关文章推荐
- 项目冲刺第二阶段Fifth Day
- eQEP增强型正交编码模块原理介绍及配合MircoE mercury II 4000光栅传感器使用
- JavaScript实现倒计时效果
- 用户 'sa' 登录失败。 (Microsoft SQL Server,错误: 18456)的另一个解决办法
- 【Storm】storm安装、配置、使用以及Storm单词计数程序的实例分析
- Hibernate映射(四)— 一对多
- 将基于Dagger-1开发的项目迁移到Dagger-2中
- hdu 5249 元素插入、删除找中值
- 通过Jenkins并行完成UI的自动化测试
- eclipse调试常用快捷键
- 切换卡TabHost控件的使用
- 12周项目一
- Fedora21下安装 sqlite3
- telnet
- 百度地图API的学习
- 类的默认赋值函数
- TabHost.TabSpec中的标签实现图文左右排(默认上下排)
- 百度地图API的学习
- Unity3d在安卓平台下使用sqlite存储操作数据
- 在windows server 2008上面装chrome driver 出错: cannot find Chrome driver