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

类别:Java 点击:0 评论:0 推荐:

//尝试两人合作写程序,加深对方法的接口与实现的理解,其中一人负责写方法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;
  }
}  

 

本文地址:http://com.8s8s.com/it/it13292.htm