哥德巴赫猜想
有一天突发奇想,任意一个大于 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; 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); } }
浙公网安备 33010602011771号