在該程序中,您將學(xué)習(xí)檢查給定的數(shù)字是否可以表示為兩個(gè)質(zhì)數(shù)之和。這是借助Java中的循環(huán)和break語(yǔ)句完成的。
為了完成該任務(wù),創(chuàng)建了checkPrime()函數(shù)。
checkPrime()將返回1,如果傳遞給函數(shù)的數(shù)量是一個(gè)質(zhì)數(shù)。
public class CheckPrime {
public static void main(String[] args) {
int number = 34;
boolean flag = false;
for (int i = 2; i <= number / 2; ++i) {
//i是質(zhì)數(shù)的條件
if (checkPrime(i)) {
//n-i是質(zhì)數(shù)的條件
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 + " 不能表示為兩個(gè)質(zhì)數(shù)的和。");
}
//檢查質(zhì)數(shù)的函數(shù)
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;
}
}運(yùn)行該程序時(shí),輸出為:
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17