本帖最后由 张向辉 于 2013-1-30 11:35 编辑
歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和
要求:打印出所有的可能
参考答案如下,只是太麻烦了,求高手指教,给出一个简单的方法,最好能用递归实现!
//任何一个大于六的偶数可以拆分成两个质数的和
//打印出所有的可能
public class Gedebahe{
public static void main(String args[]){
int num = Integer.parseInt(args[0]);
if(num<=6){
System.out.println(“参数错误!”);
return;
}
if(num%2!=0){
System.out.println(“参数错误!”);
return;
}
Gedebahe g = new Gedebahe();
//1不是质数,2是偶数,因此从3开始循环
for(int i=3;i<=num/2;i++){
if(i%2==0){//如果为偶数,退出本次循环
continue;
}
//当i与num-i都为质数时,满足条件,打印
if(g.isPrime(i) && g.isPrime(num-i)){
System.out.println(i+” + “+(num-i)+” = “+num);
}
}
}
|