2642 质数的和与积
两个质数的和是S,他们的积最大是多少?
收起
输入
一个不大于10000的正整数S,为两个质数的和。
输出
一个整数,为两个质数的最大乘积。数据保证有解。
输入样例
21
输出样例
38
Code:
#include <bits/stdc++.h>
using namespace std;
bool p(int x){
for(int i=2;i*i<=x;i++){
if(x%i==0) return false;
}
return true;
}
int main() {
int ans=1;
int S;
cin>>S;
ios::sync_with_stdio(false);
for(int i=2;i<S-1;i++){
int x=i;
int y=S-i;
if(p(x)&&p(y)){
ans=max(ans,x*y);
}
}
cout<<ans<<endl;
return 0;
}