1 #include<iostream> 2 3 using namespace std; 4 5 bool isPrime(int n) { 6 for (int i = 2; i < n; i++) { 7 if (n%i == 0) { //能被2到把自身小1的數整除的都不是素數 8 return false; 9 } 10 } 11 return true; 12 } 13 14 int getPrimePair(int n) { 15 if ((n %2== 0) && (n < 2)) { //不符合題目輸入要求返回0,表示失敗 16 return 0; 17 } 18 for (int i = 2; i < n / 2; i++) { 19 if (isPrime(i) && isPrime(n - i)) { 20 cout << n << " = " << i << " + " << n - i << endl; 21 } 22 } 23 return 1; //返回1表示成功 24 } 25 26 int main(int argc, char *argv[]) { 27 getPrimePair(28); 28 getchar(); 29 return 0; 30 }
思路:將n分為i和n-i,編寫判斷素數函數,看i和n-i是否都是素數,是的話打印出來。