#include <iostream>
#include <cmath>  // 用于sqrt函数

// 判断一个数是否为素数
bool isPrime(int n) {
    // 小于2的数不是素数
    if (n < 2) {
        return false;
    }
    // 2是唯一的偶素数
    if (n == 2) {
        return true;
    }
    // 大于2的偶数不是素数
    if (n % 2 == 0) {
        return false;
    }
    // 只检查奇数,从3到平方根
    for (int i = 3; i <= sqrt(n); i += 2) {
        if (n % i == 0) {
            return false;
        }
    }
    return true;
}

int main() {
    // 遍历6到100的所有偶数
    for (int evenNum = 6; evenNum <= 100; evenNum += 2) {
        // 从3开始找第一个素数加数(保证第一个加数最小)
        for (int prime1 = 3; prime1 <= evenNum / 2; ++prime1) {
            int prime2 = evenNum - prime1;
            // 两个数都是素数时输出并跳出内层循环
            if (isPrime(prime1) && isPrime(prime2)) {
                std::cout << evenNum << "=" << prime1 << "+" << prime2 << std::endl;
                break;
            }
        }
    }
    return 0;
}
```c++

0 comments

No comments so far...

Information

ID
673
Time
1000ms
Memory
256MiB
Difficulty
4
Tags
(None)
# Submissions
138
Accepted
69
Uploaded By