PAT 1007. 素数对猜想 (20) JAVA

来源:互联网 发布:淘宝店铺0信誉出售 编辑:程序博客网 时间:2024/06/06 00:57

1007. 素数对猜想 (20)

让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。

输入格式:每个测试输入包含1个测试用例,给出正整数N。

输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。

import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class no1007 {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        int input = new Integer(scanner.nextLine());        List<Integer> list = new ArrayList<>();        long tim =System.currentTimeMillis();        for (int i = 0; i <= input; i++) {            if (!is(i)) {                list.add(i);            }        }        int sum = 0;        for (int i = 0; i < list.size() - 1; i++)        {            if (list.get(i) - list.get(i+1)== -2) {                sum++;            }        }        System.out.println(sum);        System.out.println(System.currentTimeMillis()-tim);    }    public static boolean is(int i ){        for(int x=2;x<i;x++){            if(i%x==0){                return true;            }        }        return false;    }}

原创粉丝点击