3.请编写程序完成以下功能: 输入一个大于5的偶数,判断该数是否能被分解成两个素数之和,若能则输出分解的结果,否则输出“不能分解”。
时间: 2023-05-24 16:05:04 浏览: 62
#include <iostream>
using namespace std;
bool is_prime(int n) { // 判断素数函数
if (n < 2) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
bool can_decompose = false;
cin >> n;
if (n % 2 == 0 && n > 5) { // 判断是否为大于5的偶数
for (int i = 2; i <= n / 2; i++) {
if (is_prime(i) && is_prime(n - i)) { // 判断两个数是否均为素数
cout << n << " = " << i << " + " << n - i << endl;
can_decompose = true;
break;
}
}
if (!can_decompose) {
cout << "不能分解" << endl;
}
} else {
cout << "输入有误" << endl;
}
return 0;
}
阅读全文