题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
http://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
#include <cstring>
#include<iostream>
#include<math.h>
using namespace std;
bool isss(int n)
{
int i=0;
if(n==2||n==1)
return true;
for(i=2;i<n;i++)
{
if(n%i==0)
return false;
}
return true;
}
int main()
{
int n=0;
int a=0,b=0;
int i,j;
int cha=0;
int prevcha=0;
int count=0;
cin>>n;
if(n==2)
{
cout<<1<<endl<<1<<endl;
return 0;
}
if(n%2==1)
return 0;
for(i=1;i<n;i++)
{
for(j=1;j<n;j++)
{
if(isss(i)&&isss(j)&&i+j==n)
{
if(count==0)
{
prevcha=abs(i-j);
cha=prevcha;
count++;
a=i;
b=j;
}
else
{
prevcha=abs(i-j);
if(prevcha<cha)
{
cha=prevcha;
a=i;
b=j;
}
}
}
}
}
if(a>b)
{
cout<<b<<endl<<a<<endl;
}
else{
cout<<a<<endl<<b<<endl;
}
return 0;
}