#include #include using namespace std;

// 判断一个数是否为素数 bool isPrime(int num) { if (num < 2) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; }

// 分解偶数为两个素数之和 vector decompose(int n) { vector res; for (int i = 2; i <= n / 2; i++) { if (isPrime(i) && isPrime(n - i)) { res.push_back(i); res.push_back(n - i); break; } } return res; }

int main() { int n; cin >> n;

vector<int> res = decompose(n);
cout << n << "=" << res[0] << "+" << res[1] << endl;

return 0;
描述伟大的哥德巴赫猜想事:任何一个大于 6 的偶数总可以分解为两个素数之和。现在请你编程验证哥德巴赫猜想即输入一个大于 6 的偶数 n 将其分解为两个素数之和输出。如果有多种分解答案请输出字典序最小的那一个。输入描述一行一个正整数 n 。输出描述一行一个表达式表示字典序最小的一种分解方法具体格式参见样例。用例输入 1 6用例输出 1 6=3+3用例输入 2 14用例输出 2 14=3+11cpp

原文地址: http://www.cveoy.top/t/topic/iNsL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录