java歌德巴赫猜想

来源:互联网 发布:瞻博网络最新新闻 编辑:程序博客网 时间:2024/05/02 04:40
package Test2016;
//歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和
//打印出所有的可能
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
  public class test0204 {
  public static void main(String[] args) {
   int i,j,n=0,f1,f2,m=0;
  System.out.println("验证哥德巴赫猜想。");
  System.out.println("输入一个大于6的偶数");
  BufferedReader rr=new BufferedReader(new InputStreamReader(System.in));
  try{
  m=Integer.parseInt(rr.readLine());
  }catch(IOException e){
  }
  for(i=3;i<m/2;i+=2){
  f1=f2=0;
  for(j=3;j<=i/2;j+=2){
  if(i%j==0){
  f1=1;
  break;
  }
  }
  if(f1==1)//如果i不是质数,下一个
    continue;
  //直到找到一个质数i,这里肯定找到了
  n=m-1;
  for(j=3;i<=n/2;j+=2){
  if(n%j==0){
  f2=1;
  break;
  }
  }
  if(f2==1)
  continue;
  else
    break;
  }
  System.out.println("大于等于6的偶数"+m+"可以分解为:");
  System.out.println(i+" "+(m-i)+"两数之和");
  System.out.println(n+" "+(m-n)+"两数之和");
  }
}
0 0
原创粉丝点击