今天可能会多弄几个程序,因为以前写过的程序,今天又不会了,思路是有,但就是代码还是写不出来,必须还是要看原来的程序代码
//哥德巴赫猜想,"大于6的偶数都可以表示成二个素数的和,
public class GoldbachConjecture {
//判断是否是素数
public static boolean isPrime(int num){
for(int i = 2;i<num;i++){
if(num%i==0){
return false;
}
}
return true;
}
/**
* //是否能拆分成分拆两个素数之和
* @param num
* @return
*/
public static boolean jj(int num){
for(int i=2;i<num/2;i++){ //因为num被分为两个数,从2和num-2开始,只用分致num的一半,后面再分会重复,没有意义
if(isPrime(i)&&isPrime(num-i)){//如果满足条件,那么打印这个数,并返回true,否则返回false,即:猜想不成立
return true;
}
}
return false;
}
//主方法
public static void main(String[] args) {
int num=0 ;
boolean gdbh=true;
for(num=8;num<=100;num+=2){
if(jj(num)){
continue;
}else {
gdbh=false;
break;
}
}
if(gdbh){
System.out.println("哥德巴赫猜想成立");
}
else{
System.out.println("不成立");
}
}
}
这道题第二次写不出来的原因很简单,还是自己前面的基础知识掌握的不够好,还是练习 的太少,写代码总是不能将自己的思路转化为代码
还有,今天没记单词,所以这一天收获很差
2018年5月23号