在跟谁学笔试中遇到问题,应该算是哥德巴赫第一个猜想的应用吧。
德国人哥德巴赫在1742年提出的两个猜想:
(1)每个大于2的偶数都是两个素数之和;
(2)每个大于5的奇数都是三个素数之和。
/**
* 输入一个大于2的偶数,找到两个素数,使他们之和等于这个偶数。
* @param number
*/
public static void findPrime(int number){
if (number > 0 && number % 2 == 0){
for (int i = 1; i < number / 2; i ++){
if (isPrime(i) && isPrime(number - i)){
System.out.println("第一个素数为:" + i + " 第二个素数为:" + (number - i));
break;
}
}
}
}
/**
* 判断一个数字是否为素数
* @param number
* @return
*/
public static boolean isPrime(int br){
boolean fj = true;
//素数不包含1所以直接排除
if (br == 1){
fj = false;
return fj;
}
for (int i = 2; i <= br-1; i ++){
if ((br % i) == 0){
fj = false;
return fj;
}
}
return fj;
}