using namespace std;
int isPrime(int n);
int main()
{
int a;
scanf("%d",&a);
if(a%2==1||a<4)
{
printf("error,too small");
return 0;
}
int p,q;
bool p_flag=0,q_flag=0;
for(p=1;p_flag*q_flag==0;)
{
p++;
q=a-p;
p_flag=isPrime(p);
q_flag=isPrime(q);
}
printf("%d = %d + %d\n",a,p,q);
}
int isPrime(int n)
{
for(int i=2; i<sqrt(n); i++)
{
if(n%i==0)
return 0;
}
return 1;
}
用累加逐个测试的方式。两个条件,一都为质数,二合为该偶数