POJ 2262 哥德巴赫猜想证明与素数筛选
2010-11-13 21:28
447 查看
学习筛选1-n内的素数的方法,注意除了2之外的一切素数必然是奇数
此题与哥德巴赫猜想有关。
此题与哥德巴赫猜想有关。
#include <iostream> #include <cmath> using namespace std; int Array[1000000] = {0}; int main(){ //此题的难点在于如何最高效的在1-1000000内筛选素数,很容易导致超时或者超空间 //从这题要学会素数筛选法 //首先去掉大于2的所有偶数 //cin和cout比printf慢一些,会导致RE for ( int i = 4;i < 1000000;i+=2) { Array[i] = 1; } for (int i = 3;i<sqrt(1000000 + 0.0);i += 2) { if (!Array[i]) { int t = i*i; int T = i; Array[t] = 1;//去掉平方数 while(t < 1000000){ T += 2; t = i*T;//去掉i的所有倍数i+2倍,i+4倍等等 Array[t] = 1; } } } int n; while(scanf("%d",&n),n){ for (int i = 3;i<=n/2;i++) { if(Array[i] == 0 && Array[n-i] == 0) { printf("%d = %d + %d/n",n,i,n-i); break; } }
} return 0; }
相关文章推荐
- POJ 2262 Goldbach's Conjecture ( 筛选法求素数 )
- POJ 2262 Goldbach's Conjecture 素数筛选
- POJ2262 素数判定,万能的素数筛选
- POJ - 2262 - Goldbach's Conjecture(筛选素数)
- poj2262 筛选法求素数
- POJ 2262 Goldbach's Conjecture (素数判断)
- POJ 3292 Semi-prime H-numbers【筛选素数变形】
- LightOJ 1259 Goldbach`s Conjecture (哥德巴赫猜想 + 素数筛选法)
- POJ2262 素数筛
- POJ 2689 (素数的二次筛选)
- poj 2262 (数论,素数和)
- poj 2262 素数
- POJ 2262/ ZOJ 1951:Goldbach\'s Conjecture - 筛法打素数表
- POJ 2034 反素数,素数筛选,DFS暴力搜索
- poj 2689(区间筛选素数。。。很经典)
- POJ 2262 Goldbach's Conjecture 简单的素数
- poj 2262 Goldbach's Conjecture 素数筛
- poj 2262 Goldbach's Conjecture(素数筛选法)
- POJ 2262 (简单素数判定 ,需要优化)
- 【POJ】2262-哥德巴赫猜想