哥德巴赫猜想

有一天突发奇想,任意一个大于 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;
import java.util.ArrayList;
public class 哥德马赫猜想1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);
        int max=scan.nextInt();
        int flag=0;
        int[] arr=new int[max];
        for(int i=1;i<max;i++){
            arr[i]=0;
        }
        arr[0]=1;
        arr[1]=1;
        for(int i=2;i<max;i++){
            for(int j=2;i*j<max;j++){
                arr[i*j]=1;
            }
        }
        for(int i=2;i<max;i++){
            if(arr[i]==0){
                for(int j=i;j<max;j++){
                    if(arr[j]==0&&i+j==max){
                        System.out.println(i+" "+j);
                        flag++;
                    }
                }
            }
        }
        System.out.println(flag);
    }

}

 

posted on 2019-02-25 19:42  JJ今天开心了吗  阅读(461)  评论(0)    收藏  举报

导航