质数的和与积
【题目描述】
两个质数的和是S,它们的积最大是多少?
【输入格式】
一个不大于10000的正整数S,为两个质数的和。
【输出格式】
一个整数,为两个质数的最大乘积。数据保证有解。
【输入样例】
50
【输出样例】
589
#include<iostream> #include<climits> using namespace std; bool prime(int x){ for(int i=2; i*i<=x; i++){ if(x%i==0) return false; } return true; } int main(){ int s, maxa=INT_MIN,ji; cin>>s; for(int i=2; i<s; i++){ if(prime(i)&&prime(s-i)){ ji = i*(s-i); if(ji>maxa) maxa=ji; } } cout<<maxa; return 0; }