分拆素数和 埃氏筛法
来源:互联网 发布:javascript运算符 编辑:程序博客网 时间:2024/06/05 16:53
分拆素数和
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
HDU 2098
Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
Sample Input
30
26
0
Sample Output
3
2
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
HDU 2098
Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
Sample Input
30
26
0
Sample Output
3
2
#include <iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<deque>#define MAX 10007using namespace std;int n,ans;bool isprime[10007];void sieve(){ int p=0; for(int i=0;i<MAX;i++) isprime[i]=true; isprime[0]=isprime[1]=false; for(int i=2;i<MAX;i++) { if(isprime[i]){ for(int j=2*i;j<MAX;j+=i) isprime[j]=false; } }}int main(){ while(1){ ans=0; scanf("%d",&n); if(n==0) break; sieve(); for(int i=2;i<n/2;i++) { if(isprime[i]&&isprime[n-i]) ans++; } printf("%d\n",ans); } return 0;}
0 0
- 分拆素数和 埃氏筛法
- 【分拆素数和】
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- 分拆素数和
- memcpy和memmove的区别
- JVM之Java内存区域与内存溢出异常
- memcpy与memmove的实现
- 50道Java习题之10
- 对Socket CAN的理解(5)——【Socket CAN控制器的初始化过程】 .
- 分拆素数和 埃氏筛法
- C++库常用函数一览
- Page Rank Report
- 循环-04. 验证“哥德巴赫猜想”
- 对Socket CAN的理解(4)——【Socket CAN接收数据流程】 .
- memmove
- 对Socket CAN的理解(3)——【Socket CAN发送数据流程】 .
- memmove 和memcpy
- 对Socket CAN的理解(2)——【Socket的原理及使用】 .