HDU 2098 分拆素数和
2017-10-13 14:19
295 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2098
分拆素数和
TimeLimit: 1000/1000 MS
(Java/Others) Memory
Limit: 32768/32768 K (Java/Others)
Total Submission(s):
10314 Accepted
Submission(s): 4452
[align=left]Problem Description[/align]
把一个偶数拆成两个不同素数的和,有几种拆法呢?
[align=left]Input[/align]
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
[align=left]Output[/align]
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
[align=left]Sample Input[/align]
30 26
0
[align=left]Sample Output[/align]
3 2
[align=left]Source[/align]
2007省赛集训队练习赛(2)
[align=left]Recommend[/align]
lcy
分析:哈希打表,0MS就能过了。
代码如下:
#include<stdio.h>
#include<string.h>
#include<math.h>
bool prime[10000];
void fun()
{
memset(prime,1,sizeof(prime));
int i,j;
for(i=2;i<10000;i++)
if(prime[i]==1)
for(j=2;i*j<10000;j++)
prime[i*j]=0;
prime[1]=prime[0]=0;
}
int main()
{
int n,i,j,count;
fun();
while(scanf("%d",&n),n)
{
count=0;
for(i=2;i<n/2;i++)
if(prime[i]&&prime[n-i])
count++;
printf("%d\n",count);
}
return 0;
}
相关文章推荐
- hdu&nbsp;1010
- hdu--4861--费马小定理&&素数的原根
- hdu 继续畅通工程
- hdu 1157 Who's in the Middle(poj…
- hdu 1875 最小生成树(prim算法)…
- hdu 1162 Eddy's picture
- hdu 1907 John
- hdu 1216 Assistance Required
- HDU 2156 分数矩阵
- HDU 1985 Conversions
- HDU 1335 Basically Speaking
- hdu 4725 有点深度的最短路
- HDU - 2098-分拆素数和
- (T.T) 打印100到200之间的素数
- hdu&nbsp;1394
- HDU 2098 分拆素数和
- HDU:3117 Fibonacci Numbers
- HDU: 1181 变形课 解题报告
- HDU 2578 Dating with girls(1)
- HDU 1058 Humble Numbers