一个验证歌德巴赫猜想的小程序
2004-11-21 08:52
337 查看
//尝试两人合作写程序,加深对方法的接口与实现的理解,其中一人负责写方法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;
}
}
//用于判断一个给定的正整数是否是素数,另一人负责写主方法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;
}
}
相关文章推荐
- oracle date 类型字段的处理方法
- java获取Date时间的各种方式汇总
- ATL实现Connection Point的一种简单的方法
- 哪位仁兄帮一下编个小程序
- javascript表单之间的数据传递!
- Java测试规范(引用)
- Java面试题目
- delphi中的时间操作技术(1)
- delphi中的时间操作技术(2)
- DirectX.Capture
- 解析IP地址为主机域名
- 将某一主机域名解析为IP地址
- 有关TrueDBGrid的问题向各位大虾请教
- 使用C#开发COM+组件
- 纯编码实现数据库的建立或压缩
- 从数据库中动态选取下拉列表的方法
- 用ASP备份数据库
- date 命令简单记
- Netscaler数据索引String Map与Pattern Set的区别