Skip to content

Latest commit

 

History

History
85 lines (63 loc) · 1.98 KB

File metadata and controls

85 lines (63 loc) · 1.98 KB

C++ 程序:检查数字是否可以表示为两个质数之和

原文: 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