蒜头君的猜想

有一天蒜头君突发奇想,他有一个猜想,任意一个大于 2 的偶数好像总能写成 2个质数的和。蒜头君查了资料,发现这个猜想很早就被一个叫哥德巴赫的人提出来了,称为哥德巴赫猜想。目前还没有证明这个猜想的正确性。蒜头君告诉你一个整数 n ,让你用这个数去验证。注意 1 不是质数。

输入格式

输入一个偶数n(2<n8000000)

输出格式

输出一个整数表示有多少对(x,y) 满足x+y=n(xy) 且x,y 均为质数。

样例输入1

6

样例输出1

1

样例输入2

10

样例输出2

2
package 计蒜客;

import java.util.Scanner;

public class 蒜头君的猜想 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        int count=0;
        //筛法求素数
        int[] arr=new int[n];//0表示为素数
        for(int i=2;i<n;i++){
            for(int j=2*i;j<n;j+=i){
                if(arr[j]==0){
                    arr[j]=1;
                }
            }
        }
        for(int i=2;i<=n/2;i++){
            int j=n-i;
            if(arr[i]==0&&arr[j]==0){
                count++;
            }
        }
        System.out.println(count);
    }    
}

 

posted @ 2018-03-29 22:09  henu小白  阅读(252)  评论(0编辑  收藏  举报