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.
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;
}
#include<string.h>
#define M 32769
bool prime[M];
void fun()
{
}
int main()
{
}
阅读全文
0 0
- HDU 1397 Goldbach's Conjecture
- POJ 2262 Goldbach's Conjecture(…
- HDU 1162 Eddy's picture
- HDU 1397 Goldbach's Conjecture
- hdu 1397 Goldbach's Conjecture
- hdu 1397 Goldbach's Conjecture
- hdu 1397 Goldbach's Conjecture
- HDU - 1397 Goldbach's Conjecture
- HDU 1397 Goldbach's Conjecture
- 【HDU】 1397 Goldbach's Conjecture
- HDU 1397 Goldbach's Conjecture
- hdu 1397 Goldbach's Conjecture
- hdu 2147 kiki's game(博奕)
- hdu 1162 Eddy's picture
- hdu Goldbach's Conjecture
- hdu 4082 Hou Yi's secret 枚举
- hdu 1157 Who's in the Middle(poj…
- HDU 1157 Who's in the Middle
- HDU 1555 How many days?
- ffmpeg ndk
- HDU 1491 Octorber 21st
- 从 Centos 安装到TensorFlow的安装
- HDU 1405 The Last Practice
- HDU 1397 Goldbach's Conjecture
- HDU 1391 Number Steps
- 比较两个String类型日期大小
- HDU 1339 A Simple Task
- HDU 1335 Basically Speaking
- HDU 1334 Perfect Cubes
- 字符常量
- HDU 1326 Box of Bricks
- Cocos2dx3.10 VS2013添加 Json_Cpp第三方Json解析类库详细步骤