龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

一个验证歌德巴赫猜想的小程序

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
//尝试两人合作写程序,加深对方法的接口与实现的理解,其中一人负责写方法isPrime(), //用于判定一个给定的正整数是否是素数,另一人负责写主方法main(),利用isPrime()验 //证歌德巴赫猜想

  //尝试两人合作写程序,加深对方法的接口与实现的理解,其中一人负责写方法isPrime(),
  //用于判定一个给定的正整数是否是素数,另一人负责写主方法main(),利用isPrime()验
  //证歌德巴赫猜想:任何比2大的偶数可表示为两个素数只和.
  /*
  *auther starshus
  *
  *Date 04/11/20
  */
  import Java.io.BufferedReader;
  import java.io.InputStreamReader;

  //4.9.1
  public class gedebahe
  {
    public static void main( String [] args)
    {
     for (;;)
     {
     int a=-1,b,c;//b,c是分解出来的两个数
     System.out.print("Please input a oushu:");//输入一个偶数
     try
      {
       BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
       String inputLine = in.readLine();
       a = Integer.valueOf(inputLine).intValue();
      }catch (Exception exc)
      {
       System.out.println("Sorry,please input a number.");
       return;
      }
     if (a%2!=0)
      {
       System.out.println("Sorry,please input a oushu.");
       return;
      }
     for (b=1;b<a;b++)
      {
       c=(a-b);
       if(isPrime(b)&&isPrime(c))
       {
        System.out.println(a+"="+b+"+"+c);
        break;
       }
      }
     }
    } 
    public static boolean isPrime(int k)//方法用来判定一个数是否为偶数
   {
     int a;
     boolean t = true;
     if (k==1)
     return t;
     for (a=2;a<k;a++)
     {
      if (k%a==0)
      break;
     }
     if (a!=k)
     t=false;
     return t;
    }
  }  

   


  
精彩图集

赞助商链接