自测-2 素数对猜想(20 分)

2017-12-04  本文已影响0人  末央酒

输入格式:

输入在一行给出正整数N。

输出格式:

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

输入样例:

20
输出样例:

4


import java.util.ArrayList;
import java.util.Scanner;

//2 3 5 7 9 13 17 19
public class Main{
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        ArrayList<Integer> Prime = new ArrayList<Integer>();
        //将小于num的素数存入数组
        for (int i = 2; i <= num; i++) {
            int k = (int) Math.sqrt(i);
            for (int j = 2; j <= k+1; j++) {
                if (i % j == 0) {
                    break;
                }
                if(j > k){
                    Prime.add(i);
                }
            }
        }
        //检测数组中的素数对有多少对相差为2的
        int sum = 0;
        for (int i = 0; i < Prime.size(); i++) {
            if(i == Prime.size()-1){
                break;
            }else if(Prime.get(i+1)-Prime.get(i) == 2){
                sum++;
            }
        }
        System.out.println(sum);
    }
}

上一篇 下一篇

猜你喜欢

热点阅读