在该程序中,您将学习检查给定的数字是否可以表示为两个质数之和。这是借助Java中的循环和break语句完成的。
为了完成该任务,创建了checkPrime()函数。
checkPrime()将返回1,如果传递给函数的数量是一个质数。
public class CheckPrime { public static void main(String[] args) { int number = 34; boolean flag = false; for (int i = 2; i <= number / 2; ++i) { //i是质数的条件 if (checkPrime(i)) { //n-i是质数的条件 if (checkPrime(number - i)) { // n = primeNumber1 + primeNumber2 System.out.printf("%d = %d + %d\n", number, i, number - i); flag = true; } } } if (!flag) System.out.println(number + " 不能表示为两个质数的和。"); } //检查质数的函数 static boolean checkPrime(int num) { boolean isPrime = true; for (int i = 2; i <= num / 2; ++i) { if (num % i == 0) { isPrime = false; break; } } return isPrime; } }
运行该程序时,输出为:
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17