B2134 质数的和与积
题目描述
两个质数的和是 S,它们的积最大是多少?
输入格式
一个不大于 10000 的正整数 S,为两个质数的和。
输出格式
一个整数,为两个质数的最大乘积。数据保证有解。
输入输出样例
输入 #1
50输出 #1
589
#include <bits/stdc++.h>
using namespace std;
int zs(int n) {if (n < 2)return 0;for (int i = 2; i * i <= n; i++) {if (n % i == 0) return 0;}return 1;
}
int main() {int n;cin >> n;for (int i = n / 2; i >= 1; i--) {if (zs(i) && zs(n - i)) {cout << i * (n - i);break;}}}