2192: 质数的和与积
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:8
解决:5
题目描述
两个质数的和是S,它们的积最大是多少?
输入
一个不大于10000的正整数S,为两个质数的和。
输出
一个整数,为两个质数的最大乘积。数据保证有解。
样例输入 复制
50
样例输出 复制
589
提示
#include<bits/stdc++.h> using namespace std; bool isPrime(int x) { if (x==1 || x==0) return 0; for (int i=2;i*i<=x;i++) { if (x%i==0) return 0; } return 1; } int s,ans=0; int main(){ cin>>s; for (int i=2;i<=s/2;i++) { if (isPrime(i)&&isPrime(s-i)) { if (i*(s-i)>ans) ans=i*(s-i); } } cout<<ans; return 0; }