原文: https://www.programiz.com/cpp-programming/examples/sum-prime-numbers
使用函数检查整数(由用户输入)是否可以表示为所有可能组合的两个质数之和的示例。
要理解此示例,您应该了解以下 C++ 编程主题:
该程序从用户处获取一个正整数,并检查该数字是否可以表示为两个质数的总和。
如果数字可以表示为两个质数之和,则输出将显示质数的组合。
为了执行此任务,创建了一个用户定义的函数来检查质数。
示例:检查一个数字是否可以表示为两个质数之和
#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;
}
输出
Enter a positive integer: 34
34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 17