Run ID:6567

提交时间:2025-03-08 09:02:49

#include<iostream> #include<algorithm> using namespace std; int main(){ int s,a,b;//s为题意要求的值,a+b=s int _max=0;//初始化为最小值 cin>>s; for(int i=2;i<=s-2;i++){ a=i; b=s-a; //判断a是否为质数,如果是则继续判断b是否为质数,如果不是,则结束这一次循环 bool f=true;//标记a为质数,默认true为质数,那么false表示不是质数 for(int j=2;j*j<=a;j++){ if(a%j==0){ f=false; break; } } if(f==false) continue;//如果a不是质数,那么不用判断b了,否则继续判断b f=true;//标记b为质数 for(int j=2;j*j<=b;j++){ if(b%j==0){ f=false; break; } } if(f==true){//如果b也是质数,那么打擂台找最大值 //cout<<a<<" "<<b<<" "<<a*b<<endl;//输出每一组质数的积检验一下 _max=max(_max,a*b); } } cout<<_max<<endl; return 0; }