这道题要注意素数的判定方法,以及for循环边界的确定。
#include<iostream>
#include<cmath>
using namespace std;
bool is_prime(int num)
{
if(num==2||num==3)
return true;
for(int i=2;i<=sqrt(num);++i)
if(num%i==0)
return false;
return true;
}
int main()
{
int a=0;
while(cin>>a&&a)
{
int count=0;
for(int i=2;i<a/2;++i)
if(is_prime(i)&&is_prime(a-i))
++count;
cout<<count<<endl;
}
return 0;
}