HDU 1397 Goldbach's Conjecture

来源:互联网 发布:solidworks有mac版吗 编辑:程序博客网 时间:2024/06/06 03:44

http://acm.hdu.edu.cn/showproblem.php?pid=1397

 

Goldbach's Conjecture

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K(Java/Others)
Total Submission(s): 2722 Accepted Submission(s):1010


Problem Description
Goldbach's Conjecture: For any evennumber n greater than or equal to 4, there exists at least one pairof prime numbers p1 and p2 such that n = p1 + p2.
This conjecture has not been proved nor refused yet. No one is surewhether this conjecture actually holds. However, one can find sucha pair of prime numbers, if any, for a given even number. Theproblem here is to write a program that reports the number of allthe pairs of prime numbers satisfying the condition in theconjecture for a given even number.

A sequence of even numbers is given as input. Corresponding to eachnumber, the program should output the number of pairs mentionedabove. Notice that we are interested in the number of essentiallydifferent pairs and therefore you should not count (p1, p2) and(p2, p1) separately as two different pairs.


 

Input
An integer is given in each input line.You may assume that each integer is even, and is greater than orequal to 4 and less than 2^15. The end of the input is indicated bya number 0.


 

Output
Each output line should contain aninteger number. No other characters should appear in theoutput.


 

Sample Input
6 10 120


 

Sample Output
1 2 1


 

Source
Asia 1998, Tokyo (Japan)


 

Recommend
Ignatius.L
题目大意:给一个数,分解成两个数相加,并且这两个数都是素数。
分析:还是素数筛选法,判断一下即可。
代码如下:
#include<stdio.h>
#include<string.h>
#define M 32769
bool prime[M];
void fun()
{
 int i,j;
 memset(prime,1,sizeof(prime));
 for(i=2;i<M;i++)
    {
  for(j=2;j*i<M;j++)
   if(prime[i])
    prime[i*j]=0;
 }
 prime[0]=prime[1]=0;
}
int main()
{
 fun();
 int i,n;
 int count;
 while(scanf("%d",&n),n)
 {
  count=0;
  for(i=2;i<n;i++)
   if(prime[i]&&prime[n-i])
   {
    if(i==n-i)count++;
    count++;
   }
   printf("%d\n",count/2); 
 }
 return 0;
}
原创粉丝点击