1007 素数对猜想
Posted cstdio1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1007 素数对猜想相关的知识,希望对你有一定的参考价值。
让我们定义d?n??为:d?n??=p?n+1??−p?n??,其中p?i??是第i个素数。显然有d?1??=1,且对于n>1有d?n??是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N
(<),请计算不超过N
的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数N
。
输出格式:
在一行中输出不超过N
的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
//只能用1遍循环 import java.util.*; public class Main{ public static List <Integer> m = new LinkedList<Integer>(); // public void push(Integer e){ // list.add(e); // } // public int size(){ // return list.size(); // } // public int get(int i){ // return list.get(i); // } public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Main m = new Main(); int a=sc.nextInt(),now=0,cnt=0; m.add(2); for(int i=3;i<=a;i+=2){ boolean flag=true; for(int j=2;j<=Math.sqrt(i);j++){ if(i%j==0){ flag=false; break; } } if(flag){ if(i-m.get(now)==2){ cnt++; } m.add(new Integer(i)); now++; } }System.out.println(cnt); // int maxIndex=m.get(m.size()-1); //<=a // for(int i=0;i<m.size();i++){ // if(m.get(i)==a){ // maxIndex=i; // break; // } // if(m.get(i)<a&&m.get(i+1)>a) // maxIndex=i; // break; // } // }//System.out.println(maxIndex); // int cnt=0,maxLen=0; // for(int i=0;i<=m.size()-2;i++){ // if(m.get(i+1)-m.get(i)==2){ // cnt++; // } // } // } }
以上是关于1007 素数对猜想的主要内容,如果未能解决你的问题,请参考以下文章