F - 分拆素数和

HPU专题训练(-1)GCD&&素筛&&快速幂_____F - 分拆素数和


把一个偶数拆成两个不同素数的和,有几种拆法呢?


Input输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。Output对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。Sample Input

30 26 0

Sample Output

3 2

/*
暴力
*/

#include<stdio.h>
int p(int a)
{
int z=1;
if(a<=1) return 0;
for(int i=2;i*i<=a;i++)
{
if(a%i==0)
{
z=0;
break;
}
}
return z;
}
int main()
{
int x;
while(scanf("%d",&x)!=EOF)
{
if(x==0) break;
int sum=0;
for(int i=2;i<x/2;i++)
{
if(p(i)&&p(x-i)) sum++;
}
printf("%d\n",sum);
}
return 0;
}