哥德巴赫猜想:一个大于4的数一定能由俩个质数之和得来。
现题目要求判断,给出的数能表达成多少组 质数之和 的形式,而且a+b与b+a是同一种情况。
代码写起来还是很简单的,注意枚举的时候枚举到中间即可。
#include<iostream>
#include<cmath>
using namespace std;
bool isprime(int x)
{
int a=sqrt(x+0.5);
for(int i=2;i<=a;i++)
{
if(x%i==0)
return false;
}
return true;
}
int main()
{
int n;
while(cin>>n&&n!=0)
{
int cnt=0;
for(int i=2;i<=n/2;i++)
{
if(isprime(i)&&isprime(n-i))
cnt++;
}
cout<<cnt<<endl;
}
}