素数对

Description

输入一个正整数n,求有几对素数x,y,满足n=x+y(3,2)(2,3)视为相同的素数对)

Input

有多组数据,每行输入一个偶整数n(3<n<32768)。n等于0时,输入结束。

Output

输出相应的答案。

Sample Input

6 10 12 0

Sample Output

1 2 1 

———————————————————————————————————————————————————

#include<stdio.h>

#include<math.h>

int main()

{

    int a[32780]={0};

    for(int i=2;i<32780;i++)

    {

        for(int j=i*2;j<32780;j+=i)

        a[j]++;

        }

    int n;

    while(scanf("%d",&n)&&n)

    {

        int count=0;

        for(int i=2;i<=n/2;i++)

        {

            if(a[i]==0&&a[n-i]==0)

count++;

            }

            printf("%d\n",count);

        }

    return 0;

}

 

posted @ 2017-12-11 20:55  哗啦啦啦啦  阅读(324)  评论(0编辑  收藏  举报