分拆素数和||HDU2098

来源:互联网 发布:excel数据透视表题目 编辑:程序博客网 时间:2024/06/06 20:50

link:http://acm.hdu.edu.cn/showproblem.php?pid=2098
Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?

Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。

Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。

Sample Input

30
26
0

Sample Output

3
2

#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>int f(int x){    int i,s;    for(i=2;i<=sqrt(x);i++)       if(x%i==0)         return 0;    return 1;}int main(){    int a,i,n,s;    while(scanf("%d",&a),a)    {        s=0;        for(i=2;i<a-i;i++)        {            if(i!=a-i)              if(f(i)&&f(a-i))//如果i和a-i都为素数,s+1                 s++;        }        printf("%d\n",s);    }return 0;}
原创粉丝点击