多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C++ 程序:检查数字是否可以表示为两个质数之和 > 原文: [https://www.programiz.com/cpp-programming/examples/sum-prime-numbers](https://www.programiz.com/cpp-programming/examples/sum-prime-numbers) #### 使用函数检查整数(由用户输入)是否可以表示为所有可能组合的两个质数之和的示例。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ `for`循环](/cpp-programming/for-loop) * [C++ `if`,`if...else`和嵌套`if...else`](/cpp-programming/if-else) * [C++ 函数](/cpp-programming/function) * [C++ 中用户定义函数的类型](/cpp-programming/user-defined-function-types) * * * 该程序从用户处获取一个正整数,并检查该数字是否可以表示为两个质数的总和。 如果数字可以表示为两个质数之和,则输出将显示质数的组合。 为了执行此任务,创建了一个用户定义的函数来[检查质数](/cpp-programming/examples/prime-number "Check Prime Number in C++ Programming")。 * * * ## 示例:检查一个数字是否可以表示为两个质数之和 ```cpp #include <iostream> using namespace std; bool checkPrime(int n); int main() { int n, i; bool flag = false; cout << "Enter a positive integer: "; cin >> n; for(i = 2; i <= n/2; ++i) { if (checkPrime(i)) { if (checkPrime(n - i)) { cout << n << " = " << i << " + " << n-i << endl; flag = true; } } } if (!flag) cout << n << " can't be expressed as sum of two prime numbers."; return 0; } // Check prime number bool checkPrime(int n) { int i; bool isPrime = true; for(i = 2; i <= n/2; ++i) { if(n % i == 0) { isPrime = false; break; } } return isPrime; } ``` **输出** ```cpp Enter a positive integer: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 ```