蒜头君的猜想
有一天蒜头君突发奇想,他有一个猜想,任意一个大于 2 的偶数好像总能写成 2个质数的和。蒜头君查了资料,发现这个猜想很早就被一个叫哥德巴赫的人提出来了,称为哥德巴赫猜想。目前还没有证明这个猜想的正确性。蒜头君告诉你一个整数 n ,让你用这个数去验证。注意 1 不是质数。
输入格式
输入一个偶数n(2<n≤8000000)
输出格式
输出一个整数表示有多少对(x,y) 满足x+y=n(x≤y) 且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); } }