在該程序中,您將學(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