质数的和与积

【题目描述】

  两个质数的和是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;
} 

 

 
posted @ 2022-07-18 13:42  Hi,小董先生  阅读(359)  评论(0)    收藏  举报