Skip to content

22359: Goldbach Conjecture

http://cs101.openjudge.cn/practice/22359/

思路:枚举从 2 到 n/2 的所有数 A,若 A 和 n-A 都是素数,则输出这两个数并结束。

cpp
#include <iostream>

using namespace std;

bool isPrime(int num)
{
    for (int i = 2; i * i <= num; i++)
    {
        if (num % i == 0)
            return false;
    }
    return true;
}

int main()
{
    int n;
    cin >> n;
    for (int i = 2; i <= n / 2; i++)
    {
        if (isPrime(i) && isPrime(n - i))
        {
            cout << i << " " << n - i;
            return 0;
        }
    }
}