问题出在判断素数上
#include<iostream>
using namespace std;
int pd(int a)
{
int i;
for(i=2;i*i<=a;i++)//范围确定,可以缩短时间
{
if(a%i==0)
return 0;//直接返回
}
return 1;
}
int main()
{
int n,i,j;
while(cin>>n&&n)
{
for(i=3;i<=n/2;i+=2)//这里范围也要确定
{
j=n-i;
if(pd(i)&&pd(j))
{
cout<<n<<" = "<<i<<" + "<<j<<endl;
break;
}
}
}
return 0;
}