1.问题重述
题目:一个偶数总能表示为两个素数之和。
2.解析
可以参考我的博客素数的判断,学会素数的判断,稍作变形即可。
3.解决问题
代码如下:
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个偶数:");
int num = scanner.nextInt();
// 此处的次数在偶数数值的一半即可
for (int i = 2; i < num/2; i++) {
if (idea(i) && idea(num - i)) {
System.out.println(num + " = " + i + " + " + (num - i));
}
}
scanner.close();
}
public static boolean idea(int n) {
for (int i = 2; i <= Math.sqrt(n); i++) {// 判断素数的方法:用一个数分别去除2到sqrt(这个数)
if (n % i == 0) {// 如果可以整除,则不是素数,返回值为false
return false;
} else {
}
}
return true;// 循环结束,没有中途返回值,则为素数,返回值为true
}
}