#include<iostream> #include<cmath> using namespace std; bool ifzhishu(int); int main() { long long s; cin>>s; long long max = -1; for(int i =s/2;i<=s;i++)//i第一个数 { int j = s - i;//j表示第二个数 if(ifzhishu(j)&&ifzhishu(i)) { //cout<<i<<"+"<<j<<"="<<i+j<<endl; cout<<i*j; break; } } }
bool ifzhishu(int n) { if(n==1) { return 0; } if(n==2) { return 1; } //是否有因数 for(int i = 2;i<=sqrt(n);i++) { if(n%i==0) { return 0; } } return 1; }
共 1 条回复
用 long long int, 你的j和i都是int,j*i会越界。