C/C++程序训练6—歌德巴赫猜想的证明
Description
验证“每个不小于6的偶数都是两个素数之和”,输入一个不小于6的偶数n,找出两个素数,使它们的和为n。
Input
输入一个不小于6的偶数n。
Output
找出两个素数,使它们的和为n。只需要输出其中第一个素数最小的一组数据即可。
Sample
Input
80
Output
80=7+73
答案
import java.util.*;
public class Main{
public static void main(String[]args) {
Scanner cx=new Scanner(System.in);
int a=cx.nextInt();
int []x=new int[a];
int []b=new int[a];
x[1]=2;
x[2]=3;
b[1]=2;
b[2]=3;
int q=3;
for(int i=3;i<a;i++) {
x[i]=i+1;
boolean f=true;
for(int j=2;j<x[i];j++) {
if(x[i]%j = =0) {
f=false;
break;
}
}
while(f) {
b[q]=x[i];
q++;
f=false;
}
}
int t;
boolean r=true;
for(int w=0;w<q&r;w++) {
for(int e=0;e<q&r;e++) {
t=b[w]+b[e];
if(a==t) {
System.out.print(a+"="+b[w]+"+"+b[e]);
r=false;
}
}
}
}
}