PAT乙级1007 素数对猜想

1007 素数对猜想(20 分)
让我们定义 d n 为: d n = p n + 1 p n ,其中 p i 是第i个素数。显然有 d 1 = 1 n > 1 d n 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数 N ( < 10 5 ) ,请计算不超过N的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数N。

输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。

输入样例:

20

输出样例:

4

1.java实现

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner $s=new Scanner(System.in);
        int N=$s.nextInt();
        int count=0;
        int a=3,b;
        for(int i=5;i<=N;i+=2) {
            if(issu(i)) {
                b=i;
                if(b-a==2)
                    count++;
                a=b;
            }
        }
        System.out.println(count);
        $s.close();
    }
    public static boolean issu(int a) {
        double m=Math.sqrt(a);
        for(int i=3;i<=m;i+=2) {
            if(a%i==0)
                return false;
        }
        return true;
    }
}   

猜你喜欢

转载自blog.csdn.net/Msnlyg/article/details/81395207